Vim 简单操作
在终端输入vimtutor可以打开vim的学习手册。
输入:!command可以执行终端的指令,如果不加!只能执行vim的指令。
在normal模式下输入:q!可以退出vim,但是这时没有保存更改。添加!表示强制执行。
在normal模式下输入:qw可以将更改保存。
在normal模式下使用小写字母u可以undo一步操作,使用大写U可以undo一行的操作。
在normal模式下输入CTRL-r可以undo undo,撤销undo。
在normal模式下可以使用dd指令删除一行的数据,再点击p (put)可以将刚才删除的行复制到光标所在处。
同样先点击v再选定数据再点击y (yank:猛拉)表示复制,再点击p表示粘贴。
使用 y和其他指令可以实现组合操作 yw 表示复制一个单词。
直接点击o将在下一行中插入数据。相当于跳到光标所在行的末尾,点击enter,插入数据。
点击O在光标的上一行。
在normal模式下可以输入ce来修改一个单词,c代表change,e代表end,就是单词的结尾,而句子的结尾使用符号$表示。
a表示append。
A表示在本行的结尾添加。
在normal模式下键入CTRL-G可以获得关于文本和光标的信息。
文件中的跳转指令:
下面的操作均是在normal模式下执行:
输入大写的G可以跳转到文件的最后一行。
输入gg可以跳转到文件的第一行。
输入行号,再输入G可以跳转到对应的行,注意大写的G是同时按住shift和g键。
文件中的搜素指令;
直接键入/keyword 可以在光标以后搜素关键字keyword。键入n可以查找下一个关键字。
如果想在光标之前搜素对应的关键字,可以将/换成?。
键入%可以发现下一个配备的括号。
CTRL-o可以将光标返回到以前的位置。
CTRL-i也可以更新光标的位置,这两个操作类似于u和CTRL-r。
set ic 忽略搜索的大小写敏感,即部分大小写的搜索。ic ignore case
set noic
set hlsearch 高亮搜索结果,简写为hls
set nohlsearch
同时使用搜索选项,例如 /keyword\c
文本的替换:
:s/old/new 将old用new替换,只执行一次
:s/old/new/g 将一行的old用new替换
:#,#s/old/new/g 将位于两行之间的所有old用new替换,其中#表示行号。
:%s/old/new/g 将全文中的old用new替换
:%s/old/new/gc 将全文中的old用new替换,每替换一次就会提醒你一次,只有你确认了才会执行替换操作。c表示confirm,确认。
文件操作:
:w filename 将数据保存在文件filename中
:! rm filename 删除文件,因为rm是终端指令,所有使用:!开头。
先点击v开始复制数据,然后输入 :w filenam,将刚选定的数据写入文件filename中。
:r filename 从文件filename中读取数据,并将其写入当前文件中。
指令前面的!表示这是一条终端指令。
:r !ls 分析::r表示读取数据并将其写入当前的文件中,而!ls 返回当前文件夹下的文件名,故这条指令的意思是将路径中的文件名写到文件中。