‘壹’ vim中如何实现c++代码编写的自动格式化和语
在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc
在终端 输入以下命令来编辑vimrc配置文件:
sudo vim /etc/vim/vimrc
或者sudo gedit /etc/vim/vimrc
1、显示行号
在文件末端添加一新行,输入 set nu
2、语法高亮
在文件中找到 "syntax on 这一行,去掉前面的双引号",双引号是注释的意思
3、自动缩进
其中autoindent 是自动缩进; cindent是特别针对 C语言语法自动缩进 注意:如果设置好以上设置后,VIM没有作出相应的动作,那么请你把你的VIM升级到最新版,一般只要在终端输入以下命令即可:sudo apt-get install vim
‘贰’ vim如何格式化连在一起的很长一行代码
谁那么无聊压缩到一行啊,想解决也是有办法的,这就得看你的代码语句是用什么区分,如果只是简单地用分号或者其他符号隔开,可以写正则表达进行替换格式化;如果太复杂,估计就要自己用vimscrpt写个插件,这工作量不小啊
‘叁’ 用SSH 登录服务器用 Vim 在线写 php 代码的体验是怎样的
这里的关键是:在“服务器上写代码”,而不是“用vim写代码”。采用这类开发方式的公司,一般都是工具链比较完善的,又或者是采用模块式开发的,子系统不能跑在本地跑的。要说安全,也是一个理由,但这个理由相当牵强,就算把淘宝的代码全部送给你,你也搞不出另外一个淘宝的。代码本身是不值钱的,值钱的是对业务的支持(纯技术公司,开发OS的公司,开发小型硬件的公司除外)。只有当在服务器上写代码的成本,比在本地上写要小,才有必要部署这么一套系统,不然就是装B浪费钱。这里可以从几个浅而易见的成本入手。1,编译成本。做一个修改,如果要等2分钟编译,就很恶心了。但如果部署了分布式编译系统,把编译时间变成5秒,情况就很不一样。2,开发的模块依赖于另外一个不能在一个机器上跑的服务,例如搜索服务。3,重装配置环境的成本。码农们最不喜欢的“重装”,“配置”。采用在服务器上开发,支撑系统的管理员就可以很方便地对工具链进行维护,升级。想想,你进入一个新项目,直接服务器上就可以立马开干,代码在服务器编译运行,不用本地配置,是不是很爽啊!!所以,有这种需求的,一般来说都是比较成型的相对不小的公司。好,问题回到“如何在服务器上写代码”上。适应vim的用vim,适应emacs的用emacs,喜欢IDE的可以想法直接编辑服务器上的文件(例如开samba)。
‘肆’ vim 可以识别php关键字吗
map <C-J> :!php -l %<CR>
这样在vim里面就可以直接用ctrl+j,调用php解析器对当前文档进行语法检查了.当然如果php解析器不在你的路径下的话,那么应该写上全路径,象下面这样:
map <C-J> :!c:/php/php -l %<CR>
PS:vim的语法美化功能也很方便,只要在程序的第一行,command模式下输入=:1,$,就可以把当前代码排列的井然有序.而editplus则需要另外的工具配合,也能做到这一点.
‘伍’ 用 SSH 登录服务器用 Vim 在线写 PHP 代码的体验是怎样的
使用这种开发方法的公司,通常是工具链比较完善,或者是采用模块式开发,子系统不能在本地运行。说安全,也是一个原因,但这个理由是相当牵强的,即使淘宝的代码给你全部,你也不能再做一个淘宝。代码本身对业务支持(纯技术公司、开发操作系统的公司,除了那些开发小型硬件的公司)毫无价值和有价值。只有在服务器上编写代码的成本小于本地的编写时,才有必要部署这样的系统,否则是浪费钱。在这里,你可以从一些浅显易懂的成本开始。
考虑一下,如果您进入一个新项目,您可以立即开始在服务器上工作,并且代码将被编译并在服务器上运行。所以,有这种需求,一般来说,是比较大的公司。重装配置环境的成本。码农们最不喜欢的“重装”,“配置”。采用在服务器上开发,支撑系统的管理员就可以很方便地对工具链进行维护,升级。想想,你进入一个新项目,直接服务器上就可以立马开干,代码在服务器编译运行,不用本地配置
‘陆’ vim 复制php变量连字符问题怎么解决有没有大神知道
你好,你给补充个例子吧。你给出一行变量声明的代码,然后说一下光标在什么位置时,你想都选中什么?
看你的描述应该实现起来并不难
根据你评论中说的:
方法一,将$加到iskeyword选项中:
输入
:set iskeyword然后回车
最后你再试试viw看看,应该就可以将$也一起选中了
方法二,利用map命令:
输入:
:imap ,w <Esc>F$ve
此时就应该已经选中变量名及其前面的$了 //需要注意的是因为是用imap,所以,w是在插入模式下使用的
写在最后:
如果你想要每次打开vim的时候方法一和或方法二都有效,需要将相应的设置放到vim启动时加载的文件中,否则下次重新打开vim后相应的设置是不生效的,配置文件之一是:
~/.vimrc
有这个文件就直接打开把相应的命令加进去
没有的话新建该文件,把命令加进去
之后每次打开vim,.vimrc中的相应设置都会被加载
有疑问,请追问
‘柒’ 谁用vim写php的.请教一下
1.vim的设计理念是组合;
命令组合:
Vim强大的编辑能力中很大部分是来自于其普通模式命令。vim的设计理念是命令的组合。例如普通模式命令"dd"删除当前行,"dj"代表删除到下一行,原理是第一个"d"含义是删除,"j"键代表移动到下一行,组合后"dj"删除当前行和下一行。另外还可以指定命令重复次数,"2dd"(重复"dd"两次),和"dj"的效果是一样的。"d^","^"代表行首,故组合后含义是删除到光标开始到行首间的内容(不包含光标);"d$" $"代表行尾,删除到行尾的内容(包含光标);用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。
模式间的组合:
在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按"a"(append/追加)键或者"i"(insert/插入)键。
2.很多快捷键设置和正则表达式类似,可以辅助记忆; ^ $ w 等
3. vim针对程序员做了优化;
写代码的时候手需要时刻保持在键盘上,随机定位代码、随机删除代码、移动代码、插入代码的操作大大多于阅读、翻页操作,中间卡顿一下效率就大大降低了;但对普通用户而言,顺序写、设置字体格式、翻页读多于随机写删除操作, 且每个动作之间本身就有很多的停顿,用其他UI编辑器(word,notePad++等)效率反而比VIM高效,使用vim进行操作只会徒增你的疑惑: vim为什么这么流行。(如果你不是一个代码开发者,估计你看完这段话也无法感同身受,建议先去学一门编程语言,新手推荐学C,java入门,做一道50行代码的课后习题,来感受下写代码的过程)
Bram Moolenaar 在 80 年代末购入他的Amiga计算机时,Amiga 上没有他最常用的编辑器vi。Bram 从一个开源的 vi 复制 Stevie 开始,开发了 Vim 的 1.0 版本。最初的目标只是完全复制 vi 的功能,那个时候的 Vim 是Vi IMitation(模拟)的简称。1991 年 Vim 1.14 版被 "Fred Fish Disk #591" ——Amiga 用的软体集收录了。1992 年 1.22 版本的 Vim 被移植到了 UNIX 和MS-DOS上。从那个时候开始,Vim 的全名就变成 Vi IMproved(改良)了。
在这之后,Vim 加入了不计其数的新功能。做为第一个里程碑的是 1994 年的 3.0 版本加入了多视窗编辑模式(分割视窗)。从那之后,同一荧幕可以显示的 Vim 编辑文件数可以不止一个了。1996 年发布的 Vim 4.0 是第一个利用图型接口(GUI)的版本。1998 年 5.0 版本的 Vim 加入了 highlight(语法高亮)功能。2001 年的 Vim 6.0 版本加入了代码折叠、插件、多国语言支持、垂直分割视窗等功能。2006 年 5 月发布的 Vim 7.0 版更加入了拼字检查、上下文相关补完,标签页编辑等新功能。 2008 年 8 月发布的 Vim 7.2,该版本合并了 vim 7.1 以来的所有修正补丁,并且加入了脚本的浮点数支持,2010年08月15日,历时两年的时间,vim又发布了vim 7.3这个版本,这个版本修复了前面版本的一些bug,以及添加了一些新的特征,这个版本比前面几个版本来的要更加优秀。
4.2016年9月12日 Vim 8.0[1]
十年以后,Vim 终于发布了一个新的大版本 8.0,结束了从 2006 年 5 月 7 日开始的 7.0 世代。虽然这十年间,Vim 也一直在不断更新,从 7.0 到三年前的 7.4,每隔一两年或两三年就会有个小版本更新,但是这次跨越大版本更新,带来了不少新的特性,据说有一些是从其它的 Vi 流派吸收来的特性。中软卓越的APP上有更多介绍可以参考。
‘捌’ 用SSH 登录服务器用 Vim 在线写 PHP 代码的体验是怎样的
这是一件非常痛苦的事情,如果用电脑的话还是比较方便的,用手机会非常痛苦。
‘玖’ 高分求!win7 gvim 开发PHP代码智能提示,自动补全功能 我的是vim_7.3版本
自动补全我用的是neocomplcache,但它不是专门针对某种语言的,下面是我的配置,ctrl+k可以弹出窗口
" neocomplcache开关.
map <F4> :NeoComplCacheToggle<CR>
imap <F4> <ESC>:NeoComplCacheToggle<CR>a
" 停用 AutoComplPop.
" let g:acp_enableAtStartup = 0
" 启用 neocomplcache. 1是打开
let g:neocomplcache_enable_at_startup = 1
" 启用 smartcase. 仅当输入大写字母时,区分大小写
" let g:neocomplcache_enable_smart_case = 1
" 启用大写字母补全.输入大写字母时, 进行模糊搜索可能性词语 例如,当输入AE时会匹配ArgumentsException。
let g:neocomplcache_enable_camel_case_completion = 1
" 启用下划线补全.进行模糊搜索匹配的词。例如,当输入'p_h'时会匹配'public_html'。默认值是 0
let g:neocomplcache_enable_underbar_completion = 1
" 设定最小语法关键词长度.
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
" 定义字典.
"let g:neocomplcache_dictionary_filetype_lists = {
" \ 'default' : '',
" \ 'vimshell' : $HOME.'/.vimshell_hist',
" \ 'scheme' : $HOME.'/.gosh_completions'
" \ }
" 定义关键词.
if !exists('g:neocomplcache_keyword_patterns')
let g:neocomplcache_keyword_patterns = {}
endif
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
" 插件键映射.
imap <C-k> <Plug>(neocomplcache_snippets_expand)
smap <C-k> <Plug>(neocomplcache_snippets_expand)
inoremap <expr><C-g> neocomplcache#undo_completion()
inoremap <expr><C-l> neocomplcache#complete_common_string()
" 类似于SuperTab用法 .
"imap <expr><TAB> neocomplcache#sources#snippets_complete#expandable() ? "\<Plug>(neocomplcache_snippets_expand)" : pumvisible() ? "\<C-n>" : "\<TAB>"
" 推荐的键映射.
" <CR>: close popup and save indent.
"inoremap <expr><CR> neocomplcache#smart_close_popup() . "\<CR>" "加了这句之后对有的文件按回车不会输入候选项
" <TAB>: completion.
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
" <C-h>, <BS>: close popup and delete backword char.
inoremap <expr><C-h> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><BS> neocomplcache#smart_close_popup()."\<C-h>"
inoremap <expr><C-y> neocomplcache#close_popup()
inoremap <expr><C-e> neocomplcache#cancel_popup()
" 类似于AutoComplPop用法, 自动选择第一个候选项目 .
let g:neocomplcache_enable_auto_select = 1
" 类似于 Shell 用法(不推荐).
"set completeopt+=longest
"let g:neocomplcache_enable_auto_select = 1
"let g:neocomplcache_disable_auto_complete = 1
"inoremap <expr><TAB> pumvisible() ? "\<Down>" : "\<TAB>"
"inoremap <expr><CR> neocomplcache#smart_close_popup() . "\<CR>"
" 启用 omni 补全.
autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS
autocmd FileType python setlocal omnifunc=pythoncomplete#Complete
autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags
autocmd FileType php setlocal omnifunc=phpcomplete#CompletePHP
" 启用 heavy omni 补全.
if !exists('g:neocomplcache_omni_patterns')
let g:neocomplcache_omni_patterns = {}
endif
let g:neocomplcache_omni_patterns.ruby = '[^. *\t]\.\w*\|\h\w*::'
"autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
let g:neocomplcache_omni_patterns.php = '[^. \t]->\h\w*\|\h\w*::'