本文章用于记录VIM中的使用技巧,长期更新。
技巧1.
实例:有下面的javascript代码:
var foo = "method("+argument1+","+argument2+")"; 这是一个字符串的连接操作,由于"+"号紧挨着字符串因此并不美观。我们希望添加空格变为如下的样子: var foo = "method(" + argument1 + "," + argument2 + ")"; 操作步骤:使用"f+"命令找到"+"号的位置,执行"s"命令删除"+"号并进入插入模式,然后输入"空格,+,空格",然后按ESC进入编辑模式再执行3次";.",即可完成。
';'命令重复上次f+的查找操作找到下一个要修改的位置,而'.'命令重复上次的编辑命令完成输入"空格,+,空格".
技巧2.
编程好文件后,发现没有权限保存。
在vi/vim编辑器进入冒号,然后输入以下命令 %! sudo tee % > /dev/null
此时会提示输入sudo用户的密码
如果切换成功后,会提示以下信息,此时,输入大写L键
文件保存成功后,直接输入:q就可以退出
此项操作方法的前提是你当前用户是可以使用sudo命令的,如果没有请编辑sudo配置文件
技巧3. 命令行中光标操作
在单词之间跳转,使用Ctrl+左右键。Ctrl+a跳到本行的行首,Ctrl+e则跳到页尾。Ctrl+u删除当前光标前面的文字 ctrl+k-删除当前光标后面的文字Ctrl+w和Alt+d-对于当前的单词进行删除操作,w删除光标前面的单词的字符,d则删除后面的字符Alt+Backsapce-删除当前光标后面的单词,如果删除错误,使用Ctrl+y进行恢复Ctrl+L进行清屏操作
技巧4:使用次数做简单的算术运算
考虑下面的css代码
实例.blog, .news { background-image: url(/sprite.png); }
.blog {background-position: 0px 0px}
操作步骤
现在要复制最后一行并做2个改动,一个是将blog替换为news,然后将第一个0px改为-180x。
一般的做法是先用yyp复制粘贴一行,然后用cw来修改blog为news.
然后用f0找到第一个0,再用i-18插入-18完成。不过我们可以用180<C-x>完成。
<C-x>和<C-a>分别对光标所在的数字执行减法和加法操作,操作的大小为所带的前缀,如果不带前缀则默认为1.如果光标没有在数字上,则会跳正向查找到第一个数字执行操作。