版权声明:本文章为原创,欢迎阅读转载,转载请注明出处,谢谢
第一篇个人技术博客,谢谢大家的支持^o^
先上图
这是我的Vim界面(图中是一个用qsort()写的名字排序小程序,全屏模式F11),有没有很赏心悦目:)起码我自己是这么觉得的:)
废话不多说,进入正题。
:[g]/search-string/s//replace-string/[g][c]
例如,要将上图中CompareNames改为Compare,只需在命令模式下键入:g/CompareNames/s//Compare/gc
(请勿漏掉冒号)
其中,第一个“g”表示全文检索,“s”表示替换,第二个“g”表示替换匹配的所有字符串,“c”表示在替换每一个字符串之前须经用户确认。(y同意n不同意)
加上c是为了防止误替换,如果非常有信心可以不加上c。(其实多按几次y并不会耗费多少时间)
Ctrl-C组合键可以中途停止这种替换。
(关于字符串检索请自行搜索,在此不再赘述)
补充一个实用的模式检索命令:/\
作用:准确匹配一个完整的字,而非部分字符串。可结合字符串替换使用。
字符串删除(自己可以根据字符串替换得出)
另一种方式:1,$ s/ToDelete//
1,$分别表示文件头和文件尾。
忽略大小写
:set ic
恢复大小写敏感
:set noic
Vim有多个剪贴板,键入命令:reg
可查看
系统剪贴板编号为"+
Vim默认剪贴板编号为""
这就是为什么每次你想从Vim把代码粘贴到网络上却差点被活活气死的原因…
常用命令
"+Y
-> 复制到系统剪贴板
"+p
-> 从系统剪贴板粘贴
(请勿漏掉双引号)
详情请直接参阅vi的复制粘贴命令 - lansh的博客中的相关内容
这个是我偶然发现的一个功能…非常强大,可以完成很多重复性操作。
宏录制: qa 操作序列 q, @a, @@
qa 把你的操作记录在寄存器 a。
于是 @a 会replay被录制的宏。
@@ 是一个快捷键用来replay最新录制的宏。
详情请参阅vim宏录制 - lmx077的博客
功能:跳转至上一次(或被标记过的)光标所在位置,对阅读或修改文档很有帮助。
常用命令
m{a-z}
-> 保存书签 ({a-z}表示键入任意一个小写字母)
`{a-z}
-> 跳转到某个书签(字符`输入键位于Esc下方)
`.
-> 跳转至上一次光标位置
详情可参阅vim标签功能 - 天涯角落的专栏
最强大最灵活的Vim命令之一,用以定制自己的个性化快捷键!
:map
-> 查看当前所有映射
我设置的几个实用的映射
:nmap
-> 命令模式下,用Ctrl+A将全文复制到系统剪贴板
’:nmap <F8> :sh<C-R>‘ -> 命令模式下,按F8进入shell编辑Linux命令
假如刚接触Vim对方向键hjkl不顺手,可以map成jkil,这样应该会顺手得多^o^(不过i键就要重新map成别的键了…)
我是没有改的,觉得用久了自然就习惯了:)
map命令非常强大,有兴趣可以慢慢玩:)
以上就是我目前想到的想写出来分享的几个Vim实用命令,欢迎交流补充^o^
接下来是我的Vim初步个性化定制
set nu
set ts=4
set expandtab
set shiftwidth=4
set softtabstop=4
set autoindent
map <C-A> ggVG"+Y
filetype plugin on
set lines=999 columns=999
nmap :sh
nmap :SCCompile
nmap :SCCompileRun
比较清爽简单,主要是缩进的设置,几个map,和开启Snipmate、SingleComplie。
之前用gedit的时候就注意到了里面的Snippets插件,不是一般的好用!
例如,可以通过设置使得键入new + Tab,即可编辑出
#include
int main() {
return 0;
}
并让光标停在空行处。
此外还有一些如参数设置等好玩的东西,可以自己发掘(它的语法一看就能懂)。
Snippets太好用了,因此Vim入门后第一个找的插件就是它,而Snipmate就是Vim下的一个Snippets。
下载地址:Snipmate下载
(请输入Snipmate并Search)
请关注install details部分的内容,别忘了“filetype plugin on”:)
有个地方提醒一下,snippets文件中行首那个空白是Tab,请注意你的编辑器是否会自动替换为空格…(这个Tab把我坑了好久T_T)
鼓捣完之后你就可以享受你自己的Snipmate了^o^
假如你还怀念IDE的一键编译运行,那么SingleComplie就是你的福音…从此可以不用再g++ helloworld.cc了…
下载地址:SingleComplie下载
(没错你还是要输入SingleComplie并Search…)
记得在.vimrc中加入:
nmap <F9> :SCCompile
nmap <F10> :SCCompileRun
从此开启愉快的“将Vim改造成IDE”之旅…
有很多流行的配色方案,有兴趣可以自行搜索。
我觉得默认的配色方案还是比较顺眼的,换了几种后又换了回来…
说一说怎么改字体大小之类的…
gvim可以通过输入一些命令改字体,而vim默认是字体与终端字体保持一致的,至于怎样解除这个一致性可以自行搜索(我没有折腾过…)
改终端字体很简单,终端界面右键Profiles->Profile Preferences
我用的是Ubuntu Mono 15,很喜欢
Colors -> Gray on black
Background设为半透明,用了一张自己很喜欢的图片,
需要的可自行取走:)
之后打开Vim按F11觉得真是赏心悦目…
以上大概就是主要内容,接触Vim短短几天,经验不足,有些地方如有疏漏不足请批评指正,欢迎交流分享^o^
return 0;