vim学习(2)移动+修改文本+多行注释等
vim学习(二)移动+修改文本+多行注释等
二.移动 1.以word为单位进行移动 e/w 向前以word为单位移动 2.其他移动命令 ^ 移动到行首 $ 移动到行末尾 % 跳转到匹配的{或[( :num 光标指定到第num行 gg 到文档第一行第一列 G 到文档最后一行第一列 3.上下文搜索 1. /charactor 进行上下文搜索,按下回车后,可按下n进行下一个搜索,N上一个搜索 2. 当按下/时,若还搜索果别的命令,想再一次搜索,可以按上下件来搜索已经搜索果的 字符,然后回车后按n/N来进行上下文搜索 3. 使用一些简单的正则,搜索整个单词 /\<the\> 按下回车后,只搜索the这个单词,\<和\>表示单词的开始和结束 三。小副度改动 1.操作符命令和位移 使用x可以删除一个字符,操作符命令d+位移命令w,dw可以删除一个word,事实上d后面可 以接任何的位移命令,来达到删除到位移终止的位置 d4w/d4e 删除4个word d$ 从光标此处删除到行尾,这个挺有用的 dd 删除一行 numdd 删除num行 2.改变文本 cw/ce 改变一个word,实际效果是,删除一个word后,置于插入模式,这个很有用 c[num]w/c[num]e 改变num个word x 代表dl,删除当前的光标下的字符 X 代表dh,删除当前光标左边的字符 D 代表d$,删除到行尾 C 代表c$,修改到行尾 s 代表cl,修改一个字符 S 代表cc,修改一整行 3.Visual模式 删除一些简单的文本对象可以用操作符d+位移命令就可以了,但有时想删除几行的某一块区域, 就不好弄了,使用visual模式可以实现这点 在命令模式下,按下v进入visual模式 可以使hjkl或者键盘的上下左右键来移动选择文本,选择之后,就可以使用一些操作命令来达到 对选定区域的修改,如: d 删除指定区域 s 修改选定文本,当然是把文本删掉,进入insert模式 4.多行选择 使用v命令进入选择模式为一行一行选择,但有时想跨行选择就不好办了,如想多行注释,或删除多 行注释等,在命令模式下ctrl+v进入多行选择模式,你可以选择几列,可以这样,先用h/l选择几个 字符,然后用j/k选择几行,这样就达到了多行的选择,然后使用其他命令 1.多行添加注释 I(大写的i) 进入插入模式,输入该脚本的注释符号如 #,然后按下Esc键,则选中的每行都添加 了#注释 2.删除多行注释 d 选择好一列#后,按下d命令,即可删除所选中的多行注释 5.移动文本 用d和x命令删除的文本被保存到剪贴板了,可以用p给粘贴出来,在vim中叫做put 如: 1.使用dd删除一行,则按下p会在光标的下一行粘贴出删除的内容 2.使用visual/ctrl+v模式选择的区块在粘贴时,是在光标的右侧粘贴内容,注意这两个的区别 第二种可以实现垂粘贴多行,但第一种不可以 1.复制文本 vim中,复制命令为yank,使用单一字符y即可 y是一个单一复制命令,可以加上位移命令来实现多个复制 yw/ye 复制一个word y[num]w/y[num]e 复制num个word yy 复制一行 [num]yy 复制num行 当然,也可以在visual/ctrl+v模式下使用y命令,把选中的文本复制,这很高效 2.替换模式 在normal模式下,键入R进入Replace模式,所键入的字符,将覆盖后面的字符,按下Esc截止, 当然,在insert模式下也可以键入insert按钮,切换为Replace模式,看个人习惯了 6.结论 操作符命令,如d,y等,加上位移命令如w/e(word),l(但字符),$(到末尾)等的任意组合来操作文本对象, 当然还可以使用一些数字辅助 比如,多种方法来删除文本 x 删除当前光标下的字符("dl"的快捷命令) X 删除当前光标之前的字符("dh"的快捷命令) D 删除自当前光标至行尾的内容("d$"的快捷命令) dw 删除自当前光标至下一个word的开头 db 删除自当前光至前一个word的开始 diw 删除当前光标所在的word(不包括空白字符) daw 删除当前光标所在的word(包括空白字符) dG 删除当前行至文件尾的内容 dgg 删除当前行至文件头的内容