家具品牌网站,广州网站制作工作室,具有口碑的柳州网站建设价格,济南网络有限公司最常用#xff1a; x 删除后面的字符 X 删除前一个字符 删除3个字符就是3x dd:删除一行 D 删除到行尾 J:删除换行符#xff0c;使下一行并上来。 nJ:连接后面的n行 u:撤销上一次操作 U:撤销当前行的所有修改 ctrlr:对撤消的撤消 I 在行首插入 a 在光标后插入 A…最常用 x 删除后面的字符 X 删除前一个字符 删除3个字符就是3x dd:删除一行 D 删除到行尾 J:删除换行符使下一行并上来。 nJ:连接后面的n行 u:撤销上一次操作 U:撤销当前行的所有修改 ctrlr:对撤消的撤消 I 在行首插入 a 在光标后插入 A 在行末插入 o:在当前行的下面另起一行并变为插入模式 O在当前行上面另起一行变为插入模式 vim中Nyy可以复制光标后的N行。有时我们不容易得出行数这时可以用做标记的方法来制定复制范围 1. 在开始行上输入ma作一个标记a 2. 移动到结束行输入ya会复制当前行到标记a之间的文本。da会删除。 或者是v进入可视模式再13G跳转到相应行y即可。 将光标放在 { 处然后输入v%就可以把大括号中内容选定 如果光标放在第一个s上想删除到“(”为止则输入dt(就可以了t(的作用是跳到下一个(前。 %: 移动到与制匹配的括号上去{}[]等 fx 向右跳到本行字符x处x可以是任何字符 如果你要重复键入一个短语或一个句子, 也有一种快捷的方法。Vim有一种记录宏的机制。你键入qa开始把一段宏记录入寄存器变量a中。按下来你可以象平常一样键入你要的操作, 只是这些操作都会被Vim记录进它命名为a的宏中, 再次再下q键, 就结束了宏a的录制。当你要重复执行你刚才记录的那些操作时只要使用a命令。共有26个可用的寄存器供你记录宏。 使用宏你可以重复多个不同的操作。而不仅仅是插入文本了。如果你要进行某种重复的操作, 记着要用这一招呀。 :abbr hte the :abbr hw Hello World 输入先面的单词时自动用后面的替换。 b、3b、w、3w:向前\后移动几个单词标点也算一个单词。相应的大写状态为不含标点即只把空格和换行符作为单词间隔符。 $移动到行尾 3$移动到3行后的行尾 ^:移动到行首0也是 移到下一行的行首 - 移到上一行的行首 f:搜索命令小写时向后搜索用来定位如 fx定位到下一个x上。 Fx定位到上一个x上重复时可用;或, 不过 , 表示反方向 %跳到相对应的括号上编程时常用 33G跳转到33行 此时按可以返回到原来行 gg:文件头 G 文件尾 30%跳转到文件的30%处 H意为Home, M为Middle, L为Last. 当前屏幕的上中下位置大小写皆可 CtrlG:显示当前位置 ctrlu\d 向上\下滚动半屏 ctrle\y 向上\下滚动一行 ctrlb\f 向上\下滚动一屏 这个比较实用记住。 zz:将当前行滚动于屏幕中间方便查看上下文 zt置顶zb置尾 /string 查找string回车后按n键可以跳到下一个N上一个另外按/键后按上下键可以找到以前查找的记录同样的 也有记录 ?/string 同上默认向上查找 :set ignorecase 大小写无关 :set noignorecase 大小写敏感 * 查找下一个光标所在单词 #是查找上一个 1、vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪可使用 :scriptnames 来查看 set nu #行号 set tabstop4 #一个tab为4个空格长度 set ai #设置自动缩进 syntax on #高亮 2、基本命令模式下 空格键 向右移动一格 x 删除后面的字符 X 删除前一个字符 删除3个字符就是3x dd:删除一行 D 删除到行尾 caw:改写单词 c 相当于 d 变为编辑模式 J:删除换行符使下一行并上来。 nJ:连接后面的n行 u:撤销上一次操作 U:撤销当前行的所有修改 ctrlr:对撤消的撤消 i 在光标前插入 I 在行首插入 a 在光标后插入 A 在行末插入 o:在当前行的下面另起一行并变为插入模式 O在当前行上面另起一行变为插入模式 Ctrlo:临时变成命令模式一次而已 e!:放弃更改然后相当于重新打开 help:帮助可用ZZ退出帮助窗口 vim中Nyy可以复制光标后的N行。有时我们不容易得出行数这时可以用做标记的方法来制定复制范围 1. 在开始行上输入ma作一个标记a 2. 移动到结束行输入ya会复制当前行到标记a之间的文本。da会删除。 或者是v进入可视模式再13G跳转到相应行y即可。 :10,20y 回车即可相应的删除也是如此 :10,20d 此方法比上面两种方法更简单 :10,20 m 30 把10行到20行的内容剪切到30行之后 :10,20 co 30 把10行到20行的内容复制到30行之后 将光标放在 { 处然后输入v%就可以把大括号中内容选定 如果光标放在第一个s上想删除到“(”为止则输入dt(就可以了t(的作用是跳到下一个(前。 ctrl n 自动补全 ctrl p 也一样 :ab hw hello world 用一个缩写字符串代替一个长的字符串此处用 hw 代替 hello world %: 移动到与制匹配的括号上去{}[]等 移动到上一次的修改行 fx 向右跳到本行字符x处x可以是任何字符Fx 向左跳到本行字符x处x可以是任何字符tx 和fx相同区别是跳到字符x前Tx 和Fx相同区别是跳到字符x后 # 到与当前单词相同的上一个单词上 * 到与当前单词相同的下一个单词上 如果你要重复键入一个短语或一个句子, 也有一种快捷的方法。Vim有一种记录宏的机制。你键入qa开始把一段宏记录入寄存器变量a中。按下来你可以象平常一样键入你要的操作, 只是这些操作都会被Vim记录进它命名为a的宏中, 再次再下q键, 就结束了宏a的录制。当你要重复执行你刚才记录的那些操作时只要使用a命令。共有26个可用的寄存器供你记录宏。 使用宏你可以重复多个不同的操作。而不仅仅是插入文本了。如果你要进行某种重复的操作, 记着要用这一招呀。 :abbr hte the :abbr hw Hello World 输入先面的单词时自动用后面的替换。 3、移动 b、3b、w、3w:向前\后移动几个单词标点也算一个单词。相应的大写状态为不含标点即只把空格和换行符作为单词间隔符。 $移动到行尾 3$移动到3行后的行尾 ^:移动到行首0也是 移到下一行的行首 - 移到上一行的行首 f:搜索命令小写时向后搜索用来定位如 fx定位到下一个x上。 Fx定位到上一个x上重复时可用;或, 不过 , 表示反方向 %跳到相对应的括号上编程时常用 33G跳转到33行 此时按可以返回到原来行 gg:文件头 G 文件尾 30%跳转到文件的30%处 H意为Home, M为Middle, L为Last. 当前屏幕的上中下位置大小写皆可 CtrlG:显示当前位置 set number:设置显示行号set nonumber:关闭显示 :set ruler 设置在窗口右下角显示行号与上面的好处是节省空间 ctrlu\d 向上\下滚动半屏 ctrle\y 向上\下滚动一行 ctrlb\f 向上\下滚动一屏 这个比较实用记住。 zz:将当前行滚动于屏幕中间方便查看上下文 zt置顶zb置尾 /string 查找string回车后按n键可以跳到下一个N上一个另外按/键后按上下键可以找到以前查找的记录同样的 也有记录 ?/string 同上默认向上查找 :set ignorecase 大小写无关 :set noignorecase 大小写敏感 * 查找下一个光标所在单词 #是查找上一个 :set hlsearch 高亮显示查找结果 :set nohlsearch 取消高亮 :nohlsearch 去掉当前显示的高完一次性 上次光标停靠的行 % 匹配到相应括号处 向右移动本行一段距离 向左移动本行一段距离 3 把下面3行包括本行向左移动一段距离 :20,30 把20行到30行向右移动一段距离 4、小幅改动 :%s/str1/str2/g 替换每一行的 str1为 str2 :10,20s/str1/str2/g 替换从行10到行20之间的 str1为 str2 :10,$s/str1/str2/g 替换从行10到最后一行之间的 str1为 str2 :s/str1/str2/g 替换当前行的 str1为 str2 . 重复执行命令 :10,$ w test2.cpp 取行10到最后一行内容保存到test2.cpp :r class/User.hpp 读取文件中的内容插入到当前行的后面 dw:删除一个单词光标后部分 不如daw实用 d4w删除4个单词 d$:删除当前光标到行尾 d^删除当前光标至行首 d换成c效果是一样的只是操作完会变成insert模式 dnw 删除N个单词 dnj: 向下删除n行 dnk: 向上删除n行 X删除左边的字符相当于-键x删除当前字符 D:相当于d$ C:相当于c$ s:相当于c1 S:相当于cc r:替换当前字符但不会进入insert模式 3r:把后面3个字符替换掉 R替换模式 .:重复上一次操作 v进入Visual模式 V:进入可视行模式比如 Vjjd 删除3行 Ctrlv可视块模式 P粘贴至光标前 p粘贴至光标后 3P粘贴3次 2p 粘贴最后第二次的删除的内容 yy:复制一行 yaw 复制一个单词,光标在单词任意位置 ynw 复制N个单词 ynj: 向下复制n行 ynk: 向上复制n行 自动缩进 :set cindent(所有的set都可以简写为se,虽然只节省了一个字符, 译者注) 需要注意的是cindent控制缩进量是通过shiftwidth选项的值, 而不是通过tabstop 的值, shiftwidth的默认值是8(也就是说, 一个缩进为8个空格, 译者注), 要改变默认的设置, 可以使用:set shiftwidthx命令, 其中x是你希望一个缩进量代表的空格的数目. { 到前一个空行上} 到下一个空行上 5、VIM的一些插件 c.vim :如果是用root账号的把文件复制到/usr/share/vim/vim70中解压没有用的不存在 $HOME/.vim 这个目录没办法只能新建个目录然后把压缩包cp到这个目录再unzip即可。在 ~/.vimrc 中 写入 filetype plugin on :e! 返回上次保存后的状态 Ctrlz:暂停vi,回到Unix提示符再输入fg即可回到vi。 ^回到行首光标位于行首字母处0回到行首光标位于行首字母前。$回到行尾光标位于行尾字母处。 nb:向前移动n个单词nw向后移动n个单词。光标位于单词的第一个字母处。 nw这个操作很慢不知何故。 以空格、标点符号与单词的分界为分隔符。几个连续的标点视为一个单词 同样的也可以使用nB,nW只是这里只使用空格做为分隔符。 相换两个相邻字母的位置x、p s:删除一个字符并进入编辑模式。 S删除一整行进入编辑模式相当于cc。 ns:删除后面n个字符并进入编辑模式。 ~:更改字母的大小写同时光标进入到下一个字符。 n~:把后面n个字母的大小写状态改变。 dw:删除单词后面部分 db删除单词前面部分。 如果要删除整个单词(光标位于单词中间的话)可以 dbw\wdb de:类似于dw,删除单词后面的部分只删除到本单词结尾dw会删除掉单词后面的空格 dE:删除的范围包括标号在内的单词结尾。 e:相当于w向后移动一个单词。不同的是w移动到单词第一个字符上e移动到单词最后一个字符上。 所以ea,可以给本单词追加内容。 Dd$ 的简写同样的Cc$的简写。 U会恢复一整行原先的面貌即最原始的样子。 Y相当于yy不同于D与C的操作方法。 .重复上一个命令。 除了O/o插入命令(A,a,I,i)接受数值参数如5Ihello然后按ESE键。会在行首输入5个连接的hello nr:替换后面n个字符。 nJ:合并下面的n行从本行算起。 ynl:向后复制n个字符。 e/E:到单词的结尾。 滚动整屏 ^f向前下一整屏 ^b向后上一整屏 ^d向前下一半屏 ^u向后上一半屏 z,Enter将光标所在行移动到屏幕顶部同于zz) z.将光标所在行移动到屏幕中间 z-将光标所在行移动到屏幕尾部 nz,Enter将第n行移动到屏幕顶部同样的z. 与 z- 前也可以加数字。 在屏幕中移动 H、M、L分别移动到屏幕的顶部、中间和尾部。 nH、nL 移动到距离屏幕顶部和顶部n行的位置。 Enter到下一行的第一个字符。 到下一行的第一个字符。 -到上一行的第一个字符。 n|移动到当前行的第n列 e移到单词的结尾 E移到单词的结尾忽略标点符号 ( ) { } [[ ]] 这几个对编程作用不大可忽略。 d/it向后删除到it之前的位置不删it。 d?it向前删除到it之前的位置删除it。 fx:本行中向右搜索x光标置于x上。 Fx:向左搜索。; 重复上一个搜索命令方向相同。 ,重复上一个搜索命令方向相反。 tx:同fx只是光标置于x之前。 Tx类似。 dfi向右删除第一个i的位置包括i) dti同dfi只是不包括i CtrlG 查看当前行信息 nG跳转后可使用回到上一次的位置功能一样不过只是回到前次位置所在行的开头而不是确定的位置上。 删除包含keyword字符串的行 :g/keyword/d 删除空行:%s/^\n$//g 参考http://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html转载于:https://www.cnblogs.com/KongkOngL/p/6932617.html