.-可以让我们重复上次的操作命令 y-复制命令。它后面可以跟位移,或者是一个对象选择。例如 它其实跟c-剪切命令很相似 yaw-复制一个单词,包括前面的空格 yiw-复制一个单词,不包括前面的空格 Y-复制一行内容 y+k-复制光标所在行跟上一行 t-搜索命令,光标跳到字符前 T-反向搜索命令,光标跳到字符前 f-搜索命令,光标跳到字符上 F-反向搜索命令,光标跳到字符上 ;-可以跳到下一个搜索结果上 当我们使用复制删除等命令的时候,如果对象后面跟的是[]、{}等,他们的操作范围就是这个括号里面的内容 例如,{aaaa} ,当我们把光标放到{上,让后我们执行yi{的时候,我们复制的其实是aaaa <C-r>+寄存器-复制寄存器中的内容 例如 你使用yy复制了当前行 然后,你就可以使用<C-r>+0来进行复制了。 命令行常用指令 :[range] delete [x] 删除指定的行到寄存器x :[range] yank [x] 复制指定的行到寄存器x :[line] put [x] 复制x寄存器内容到指定的行的下一行。 :[range] copy [address] 把指定行的内容,复制到指定地址的下一行 :[range] move [address] 把指定行的内容,剪切到指定地址的下一行 :[range] join 把指定行的内容,整合成为一行,也就是去掉换行符等。跟J类似 :[range] normal [command] 在指定的行内,重复执行命令 例如,如果你执行:1,3 normal A; 那么你会看到1,2,3行,后面都加了一个; :[range] substitute/{pattern}/{string}/{flags} 把指定行里面出现的parrern,按照flags的标准,用string替 :[range] global/{pattern}/{cmd} 把指定行里匹配parrern的行,执行cmd命令 q: 调出ex命令历史记录表 :shell 进入shell终端,当我们再次按下exit的时候,退回到vim :! [cmd] 执行cmd命令 :read ![cmd] 执行cmd命令 :[range] write ! [cmd] 把range作为cmd命令的输入 :set spell 开启检查拼写 z= 为光标所在的单词,提供更改建议 set spelllang=en 这条语句的意思是,语法拼写默认的是英语 :w !sudo tee % 当我们需要以root权限保存文章的修改的时候,这个命令非常的有用 :earlier 1m 回到文章1m之前的状态 :later 1m 回到文章1m之后的状态 :\ze[string] 它的意思是满足后面紧跟着string 例如 aaa bbb aaa ccc 然后我们进行搜索:/aaa\ze ccc。这时候搜索结果就是aaa ccc 而不是aaa bbb matchit.vim插件 这个插件是用来扩展%匹配的,跟随vim发布,但是默认关闭,我们可以在.vimrc中添加如下的内容来打开它 runtime macros/matchit.vim 这时候,如果我们打开了一个html文件,内容如下 <html> </html> 我们把光标放在第一行的html上,然后%,就可以跳到/html上了。 surround.vim插件 这个插件是用来给选中的文本添加分隔符的。比如 aaaaa 然后你选中它,接着执行S",这时候字符就会变成"aaaaa" 下载地址https://github.com/tpope/vim-surround vim-visual-star-search.vim插件 这个插件可以把可是模式下选中的内容,作为关键字查找 地址 https://github.com/nelstrom/vim-visual-star-search 例如 aaa bbb 你想搜索"a b"的调用情况,这时候你就可以用可视模式选中a b,然后×就可以查找了
vim
时间: 2024-10-01 03:09:39