Linux Vim编辑命令
linuxvim操作笔记

linuxvim操作笔记V1. 默认字符编码为utf8,打开使⽤gb2312编码的⽂件,中⽂全为乱码,如何恢复正常显⽰? 输⼊ edit ++enc=cp936V2. 如何在vim系统中执⾏命令?输⼊ !cmdV3. 使⽤vim直接打开并编辑.*gz⽂件,⽽⽆须解压,读取,编辑,再压缩.压缩⽂件的⽀持是通过pluginvim ls-lrR.txt.gzV4. 如何Vim⽀持语法加亮?⼀劳永逸的⽅法,在~/.vimrc中增加如下语句syntax on临时性的⽅法, 输⼊命令:syntax onV5. Vim如何在结构⽂档中快速切换,⽐如 C语⾔{ }块之间切换.输⼊在{}之间,输⼊%即可V6. 如何让Vim记下我的编辑状态,以便下次快速恢复⼯作?输⼊ :mksession file_name_your_sessionV7. 如何让Vim告诉你编辑⽂件的字节数,字数,当前位置信息?输⼊ g CTRL_GV8. 输⼊help,打开了帮助窗⼝,如何快速关闭?输⼊CTRL-W ,然后再输⼊CTRL-Q,或者输⼊CTRL-W qV9. 我要每天编辑⽇志,我不想去输⼊⽇期与时间,该怎么办?现要如这样的⽇期形式Mon Sep 19 23:19:03 CST 2005,简单,定义⼀个快捷键F2,在vim中做这样⼀个映射:map gg:read !dateV10. 如何使⽤Vim改变⽂本⽂件的编码?⽐如,原有1个⽂档为utf-8编码的,现在要将它改为cp936编码,可⽤如下指令:set fileencoding=cp936然后再保存⽂件:wV11. 如何将vim记住我的配置选项(⽐如默认的编码⽅式,⽂件类型等)?请将你的配置命令写到~/.vimrc配置脚本⽂件中V12. 如何查看当前编辑的C/C++源⽂件所有include⽂件路径?输⼊:checkpathV13. 如何保存全局的配置选现(对所有⽤户都可⽤)?先输⼊:version, 查看系统vimrc配置⽂件的值再编辑系统vimrc配置⽂件,加⼊你想要vim执⾏的命令V14. 如何快速复制Buffer中的⼀⾏⽂字?输⼊yy先记录到缓冲区, 移动光标到想要粘贴处,按pV15. 如何利⽤宏命令,⽣成数字顺序列表?1. Create the first list entry, make sure it starts with a number.2. qa - start recording into buffer ‘a’3. Y - yank the entry4. p - put a copy of the entry below the first one5. CTRL-A - increment the number6. q - stop recording7. @a - repeat the yank, put and increment timesV16. 如何实现⽂本的折叠(Fold)?⾃动Fold,假设你的⽂件是C源⽂件,输⼊:set foldmethod=indent:set foldenable⼿动Fold,选中你要折的⾏,在Normal模式下输⼊命令 zf当Fold创建后,移动光标到Fold所在⾏输⼊ zo, 打开相应的Foldzc, 关闭相应的FoldzM, 关闭⽂件中所有的FoldzR, 打开⽂件中所有的Foldza, ⾃动打开或关闭相应的FoldV17. 如何查看当前⽂件中的字,字符个数?输⼊g CTRL-G 即可,所有字节数按UTF-8的形式进⾏计数.V18. 如何在Visual模式下快速搜索当前选中的⽂字?为了不改变⽤户使⽤习惯,我们依然沿⽤*和#这两键vnoremap * y/“vnoremap # y?“注: 指令插⼊命名寄存器的内容V19. 如何在源代码中不同块/段落间来回跳跃?输⼊ { , 前进⾄上⼀段落输⼊ } , 前进⾄后⼀段落V20. 如何⽂本中的TAB转化为固定长度的空格?输⼊ :set expandtab输⼊ :set tabstop=4输⼊ :retabV21. vim中paste剪贴板中的数据如何让它不缩进,保持原格式?paste时,输⼊的⽂本⼤多会包含换⾏字符,还有⼀些特殊字符,vim会⾃动对⽂本缩进,并且⾃动换⾏等,为了避免这些智能选项的影响,可以把paste开关打开V22. 有趣的⼏个功能gg 到⽂件⾸gd 到变量声明gg=G 全篇⾃动缩进 , =G 单⾏缩进K(shift+k) mancrl+] 函数原型处 crl+t 回 ( ctags )ctl+p ⾃动补全( 编辑状态 ):X 加密保存( 要输⼊密码 )使⽤说明:以下的例⼦中 xxx 表⽰在命令模式下输⼊ xxx 并回车以下的例⼦中 :xxx 表⽰在扩展模式下输⼊ xxx 并回车⼩括号中的命令表⽰相关命令.在编辑模式或可视模式下输⼊的命令会另外注明.1. 查找/xxx(?xxx) 表⽰在整篇⽂档中搜索匹配xxx的字符串, / 表⽰向下查找, ? 表⽰向上查找.其中xxx可以是正规表达式,关于正规式就不多说了.⼀般来说是区分⼤⼩写的, 要想不区分⼤⼩写, 那得先输⼊:set ignorecase查找到以后, 再输⼊ n 查找下⼀个匹配处, 输⼊ N 反⽅向查找.*(#) 当光标停留在某个单词上时, 输⼊这条命令表⽰查找与该单词匹配的下(上)⼀个单词. 同样, 再输⼊ n 查找下⼀个匹配处, 输⼊ N 反⽅向查找.g*(g#) 此命令与上条命令相似, 只不过它不完全匹配光标所在处的单词, ⽽是匹配包含该单词的所有字符串.gd 本命令查找与光标所在单词相匹配的单词, 并将光标停留在⽂档的⾮注释段中第⼀次出现这个单词的地⽅.% 本命令查找与光标所在处相匹配的反括号, 包括 () [] {}f(F)x 本命令表⽰在光标所在⾏进⾏查找, 查找光标右(左)⽅第⼀个x字符.找到后:输⼊ ; 表⽰继续往下找输⼊ , 表⽰反⽅向查找2. 快速移动光标在 vi 中, 移动光标和编辑是两件事, 正因为区分开来, 所以可以很⽅便的进⾏光标定位和编辑. 因此能更快⼀点移动光标是很有⽤的.w(e) 移动光标到下⼀个单词.b 移动光标到上⼀个单词.0 移动光标到本⾏最开头.^ 移动光标到本⾏最开头的字符处.$ 移动光标到本⾏结尾处.H 移动光标到屏幕的⾸⾏.M 移动光标到屏幕的中间⼀⾏.L 移动光标到屏幕的尾⾏.gg 移动光标到⽂档⾸⾏.G 移动光标到⽂档尾⾏.c-f (即 ctrl 键与 f 键⼀同按下) 本命令即 page down.c-b (即 ctrl 键与 b 键⼀同按下, 后同) 本命令即 page up.” 此命令相当有⽤, 它移动光标到上⼀个标记处, ⽐如⽤ gd, * 等查找到某个单词后, 再输⼊此命令则回到上次停留的位置.‘. 此命令相当好使, 它移动光标到上⼀次的修改⾏.`. 此命令相当强⼤, 它移动光标到上⼀次的修改点.3. 拷贝, 删除与粘贴在 vi 中 y 表⽰拷贝, d 表⽰删除, p 表⽰粘贴. 其中拷贝与删除是与光标移动命令结合的, 看⼏个例⼦就能够明⽩了.yw 表⽰拷贝从当前光标到光标所在单词结尾的内容.dw 表⽰删除从当前光标到光标所在单词结尾的内容.y0 表⽰拷贝从当前光标到光标所在⾏⾸的内容.d0 表⽰删除从当前光标到光标所在⾏⾸的内容.y$ 表⽰拷贝从当前光标到光标所在⾏尾的内容.d$ 表⽰删除从当前光标到光标所在⾏尾的内容.yfa 表⽰拷贝从当前光标到光标后⾯的第⼀个a字符之间的内容.dfa 表⽰删除从当前光标到光标后⾯的第⼀个a字符之间的内容.特殊地:yy 表⽰拷贝光标所在⾏.dd 表⽰删除光标所在⾏.D 表⽰删除从当前光标到光标所在⾏尾的内容.关于拷贝, 删除和粘贴的复杂⽤法与寄存器有关, 可以⾃⾏查询.4. 数字与命令在 vi 中数字与命令结合往往表⽰重复进⾏此命令, 若在扩展模式的开头出现则表⽰⾏号定位. 如:5fx 表⽰查找光标后第 5 个 x 字符.5w(e) 移动光标到下五个单词.5yy 表⽰拷贝光标以下 5 ⾏.5dd 表⽰删除光标以下 5 ⾏.y2fa 表⽰拷贝从当前光标到光标后⾯的第⼆个a字符之间的内容.:12,24y 表⽰拷贝第12⾏到第24⾏之间的内容.:12,y 表⽰拷贝第12⾏到光标所在⾏之间的内容.:,24y 表⽰拷贝光标所在⾏到第24⾏之间的内容. 删除类似.5. 快速输⼊字符在 vi 中, 不要求你输⼊每⼀个字符, 可以有很多种⽅法快速输⼊⼀些字符.使⽤ linux/unix 的同学⼀定有⼀个经验, 在命令⾏下输⼊命令时敲⼊头⼏个字符再按TAB 系统就会⾃动将剩下的字符补齐, 假如有多个匹配则会打印出来. 这就是著名的命令补齐(其实windows中也有⽂件名补齐功能). vi 中有许多的字符串补齐命令, ⾮常⽅便.c-p(c-n) 在编辑模式中, 输⼊⼏个字符后再输⼊此命令则 vi 开始向上(下)搜索开头与其匹配的单词并补齐, 不断输⼊此命令则循环查找. 此命令会在所有在这个 vim 程序中打开的⽂件中进⾏匹配.c-x-l 在编辑模式中, 此命令快速补齐整⾏内容, 但是仅在本窗⼝中出现的⽂档中进⾏匹配.c-x-f 在编辑模式中, 这个命令表⽰补齐⽂件名. 如输⼊:/usr/local/tom 后再输⼊此命令则它会⾃动匹配出:/usr/local/tomcat/abbr 即缩写. 这是⼀个宏操作, 可以在编辑模式中⽤⼀个缩写代替另⼀个字符串. ⽐如编写java⽂件的常常输⼊ System.out.println, 这很是⿇烦, 所以应该⽤缩写来减少敲字. 可以这么做::abbr sprt System.out.println以后在输⼊sprt后再输⼊其他⾮字母符号, 它就会⾃动扩展为System.out.println6. 替换替换是 vi 的强项, 因为可以⽤正规表达式来匹配字符串.以下提供⼏个例⼦.:s/aa/bb/g 将光标所在⾏出现的所有包含 aa 的字符串中的 aa 替换为 bb:s/\/bb/g 将光标所在⾏出现的所有 aa 替换为 bb, 仅替换 aa 这个单词:%s/aa/bb/g 将⽂档中出现的所有包含 aa 的字符串中的 aa 替换为 bb:12,23s/aa/bb/g 将从12⾏到23⾏中出现的所有包含 aa 的字符串中的 aa 替换为 bb :12,23s/^/#/ 将从12⾏到23⾏的⾏⾸加⼊ # 字符:%s= *$== 将所有⾏尾多余的空格删除:g/^\s*$/d 将所有不包含字符(空格也不包含)的空⾏删除.7. 多⽂件编辑在⼀个 vim 程序中打开很多⽂件进⾏编辑是挺⽅便的.:sp(:vsp) ⽂件名 vim 将分割出⼀个横(纵)向窗⼝, 并在该窗⼝中打开新⽂件.从 vim6.0 开始, ⽂件名可以是⼀个⽬录的名称, 这样, vim 会把该⽬录打开并显⽰⽂件列表, 在⽂件名上按回车则在本窗⼝打开该⽂件, 若输⼊ O 则在新窗⼝中打开该⽂件, 输⼊ ? 可以看到帮助信息.:e ⽂件名 vim 将在原窗⼝中打开新的⽂件, 若旧⽂件编辑过, 会要求保存.c-w-w vim 分割了好⼏个窗⼝怎么办? 输⼊此命令可以将光标循环定位到各个窗⼝之中.:ls 此命令查看本 vim 程序已经打开了多少个⽂件, 在屏幕的最下⽅会显⽰出如下数据:1 %a “usevim.html” ⾏ 1622 # “xxxxxx.html” ⾏ 0其中:1 表⽰打开的⽂件序号, 这个序号很有⽤处.%a 表⽰⽂件代号, % 表⽰当前编辑的⽂件,# 表⽰上次编辑的⽂件“usevim.html” 表⽰⽂件名.⾏ 162 表⽰光标位置.:b 序号(代号) 此命令将指定序号(代号)的⽂件在本窗⼝打开, 其中的序号(代号)就是⽤ :ls 命令看到的.:set diff 此命令⽤于⽐较两个⽂件, 可以⽤:vsp filename命令打开另⼀个⽂件, 然后在每个⽂件窗⼝中输⼊此命令,就能看到效果了.8. 宏替换vi 不仅可以⽤ abbr 来替换⽂字, 也可以进⾏命令的宏定义. 有些命令输起来很费劲, 因此我把它们定义到 - 上, 这样就很⽅便了.这些配置可以预先写到 ~/.vimrc (windows 下为 $VIM/_vimrc) 中, 写进去的时候不⽤写前⾯的冒号.:nmap :nohls 取消被搜索字串的⾼亮:nmap w 命令模式下转移光标到不同窗⼝:imap 输⼊模式下运⾏:nmap :%s= *$== 删除所有⾏尾多余的空格.:imap 同上:java 中: (注, 这⾥为什么说 java 中, 因为以下定义对其他⽂件格式不起作⽤, 下⽂会说到如何实现这⼀点):nmap :comp javac:mak -d . %此命令⽤ javac 编译 java ⽂件, 它会⾃动将光标定位到出错点. 不过这需要定义⼀个 javac.vim ⽂件在 $VIM/compiler 下, 在 javac.vim ⾥⾯只有两⾏字:setlocal makeprg=javacsetlocal errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#:nmap :comp ant:mak此命令⽤ ant 编译 java ⽂件, 它会⾃动将光标定位到出错点. ⼀般来说, 安装vim 后已经有了compiler/ant.vim⽂件, 因此这个命令可以直接使⽤. 但是需要在当前⽬录下有 build.xml ⽂件, 当然还必须安装 ant 才⾏.:nmap :cl 此命令⽤于查看所有的编译错误.:imap:nmap :cc 此命令⽤于查看当前的编译错误.:imap:nmap :cn 此命令⽤于跳到下⼀个出错位置.:imap:nmap :cp 此命令⽤于跳到上⼀个出错位置.:imap:nmap :JavaBrowser此命令⽤于在窗⼝左部分割出⼀个新窗⼝, ⾥⾯的内容是 java 的资源树, 包括本⽂件中出现的类, 类的成员变量及成员⽅法, 就好像 JCreator 表现的那样.在这个窗⼝中输⼊ ? 会看到帮助. 嘿嘿, 很好⽤, 不过需要 ctags ⽀持.:imap9. TABTAB 就是制表符, 单独拿出来做⼀节是因为这个东西确实很有⽤.<< 输⼊此命令则光标所在⾏向左移动⼀个 tab.>> 输⼊此命令则光标所在⾏向右移动⼀个 tab.5>> 输⼊此命令则光标后 5 ⾏向右移动⼀个 tab.:12,24> 此命令将12⾏到14⾏的数据都向右移动⼀个 tab.:12,24>> 此命令将12⾏到14⾏的数据都向右移动两个 tab.那么如何定义 tab 的⼤⼩呢? 有⼈愿意使⽤ 8 个空格位, 有⼈⽤4个, 有的⽤2个.有的⼈希望 tab 完全⽤空格代替, 也有的⼈希望 tab 就是 tab. 没关系, vim 能帮助你.以下的设置⼀般也都先写⼊配置⽂件中, 免得⽼敲.:set shiftwidth=4 设置⾃动缩进 4 个空格, 当然要设⾃动缩进先.:set sts=4 即设置 softtabstop 为 4. 输⼊ tab 后就跳了 4 格.:set tabstop=4 实际的 tab 即为 4 个空格, ⽽不是缺省的 8 个.:set expandtab 在输⼊ tab 后, vim ⽤恰当的空格来填充这个 tab.10. autocmd这个命令⼗分的强⼤, 可以⽤这个命令实现对不同的⽂件格式应⽤不同的配置; 可以在新建⽂件时⾃动添加上版权声明等等. 这些命令⼀般定义在 ~/.vimrc 这样的配置⽂件⾥⾯. 由于他很强⼤, 所以我不能给出很具体的说明, 只能举⼏个例⼦, 详细的请看帮助. :autocmd! 删除所有之前的⾃动命令.autocmd FileType java source ~/.vim/files/java.vimautocmd FileType java source ~/.vim/files/jcommenter.vim以上两条命令让我在打开 java ⽂件时才应⽤后⾯提到的两个配置⽂件.autocmd BufNewFile *.java 0r ~/.vim/files/skeletons/java.skel以上这条命令让我在新建 java ⽂件时⾃动加⼊ java.skel ⽂件的内容.autocmd BufNewFile *.java normal gnp以上这条命令让我在新建 java ⽂件时⾃动运⾏ gnp 命令, 这个命令进⾏⼀些特殊化处理, ⽐如将新 java ⽂件中的 __date__ 替换成今天的⽇期什么的.11. 常⽤脚本在 你可以发现很多脚本(script), 这些脚本常常有让你意想不到的作⽤.我常⽤的有:jcommenter.vim ⾃动加⼊ javadoc 风格的注释.JBrowser.vim 类资源浏览. C, C++ 等可以⽤ Tlist还有许多有⽤的, ⽐如 checkstyle.vim 可以检验你的编程风格, jad.vim 可以直接反编译 .class ⽂件等等.12. 常⽤配置在~/.vimrc 配置⽂件中你常常需要⼀些个性化配置. ⽐如上⾯写的⼀些宏定义, ⼀些autocmd 定义等等. ⽐如:set suffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc这样在vim中打开⽂件时, 按 tab 键补齐⽂件名时它会忽略上述⽂件.set nu 显⽰⾏号set ai 设置⾃动缩进map Y y$ 让 Y 和 D ⼀样, 要不然 Y 的本意和 yy ⼀样.13. 其他还有许多有意思的命令, 记录在这⾥免得忘记.. 重复上次编辑命令.:g/^/exec “s/^/”.strpart(line(”.”).” “, 0, 4) 在⾏⾸插⼊⾏号:runtime! syntax/2html.vim 转换 txt 成 html, 会按照你的颜⾊配置来转。
Linux基本命令vim命令(一)

Linux基本命令vim命令(⼀)vim的三种⼯作模式命令模式、输⼊模式和编辑模式的相互转换,如图命令模式:使⽤ Vim 编辑⽂件时,默认处于命令模式。
在此模式下,可以使⽤上、下、左、右键或者 k、j、h、l 命令进⾏光标移动,还可以对⽂件内容进⾏复制、粘贴、替换、删除等操作。
输⼊模式:在输⼊模式下可以对⽂件执⾏写操作。
进⼊输⼊模式的⽅法是输⼊ i、a、o 等插⼊命令,编写完成后按 Esc 键即可返回命令模式。
编辑模式:如果要保存、查找或者替换⼀些内容等,就需要进⼊编辑模式。
编辑模式的进⼊⽅法为:在命令模式下按" :"键,Vim 窗⼝的左下⽅会出现⼀个" :"符号后,这时就可以输⼊相关的指令进⾏操作了。
操作完按Enter键执⾏,指令执⾏后会⾃动返回命令模式。
使⽤Vim打开⽂件为了避免误操作我们将/etc下的profile复制到/tmp下进⾏操作,命令如下:[root@localhost /]# cp /etc/profile /tmp/profile.vim使⽤vim 进⼊profile⽂件的命令模式操作功能描述vim profile.vim只是打开⽂件打开⽂件后,直接定位指定⾏数处,vim +20 /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接进⼊第 20 ⾏打开⽂件后,直接定位指定⾏数处,vim +/future /tmp/profile.vim例如,打开 /tmp/profile.vim⽂件时直接定位到"future"字符串所在⾏打开⽂件后,接下来开始对⽂件进⾏操作。
进⼊输⼊命令模式从命令模式进⼊输⼊模式可以按下 I、i、A、a 、O、o、等键来完成,不同的键只是光标所处的位置不同⽽已。
当进⼊输⼊模式后,在 Vim 编辑窗⼝的左下⾓会出现"INSERT"标志,这就代表我们可⾏写⼊操作了,在vim中光标是停留在字符上的,例如在光标后⾯插⼊就是指在光标所在的字符的后⾯插⼊;操功能描述作i在当前光标所在位置插⼊输⼊的⽂本,光标后的⽂本相应向右移动I在光标所在⾏的⾏⾸插⼊输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命令a在当前光标所在位置之后插⼊输⼊的⽂本A在光标所在⾏的⾏尾插⼊输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令o在光标所在⾏的下⾯插⼊新的⼀⾏。
linux中的常用基本命令的用法及vim编辑器的用法

在Linux中,有一些常用的基本命令和vim编辑器的用法。
基本命令:1. `cd`:改变目录,例如`cd /home/user` 可以切换到/home/user 目录。
2. `ls`:列出目录内容,例如`ls -a` 可以显示所有文件,包括隐藏文件。
3. `pwd`:显示当前工作目录的路径。
4. `cp`:复制文件或目录,例如`cp file1 file2` 可以将file1 复制为file2。
5. `mv`:移动或重命名文件或目录,例如`mv file1 /home/user` 可以将file1 移动到/home/user 目录下。
6. `rm`:删除文件或目录,例如`rm file1` 可以删除file1 文件。
7. `cat`:连接并打印文件的内容,例如`cat file1` 可以显示file1 文件的内容。
8. `more` / `less`:分页显示文件内容,可以通过空格键向下翻页,q键退出。
9. `head` / `tail`:分别显示文件的开头/结尾几行,例如`head -n10 file1` 可以显示file1 文件的前10行。
10. `touch`:更改文件时间戳,如果文件不存在,则创建新的空文件,例如`touch file1` 可以更新file1 文件的修改时间戳。
11. `find`:在指定目录下查找文件,例如`find /home/user -name "*.txt"` 可以查找/home/user 目录下所有扩展名为.txt 的文件。
12. `grep`:在文件中查找匹配的字符串模式,例如`grep "pattern" file1` 可以在file1 文件中查找包含"pattern" 的行。
vim编辑器用法:进入vim默认进入命令模式,可以通过以下命令进行操作:1. 键入`i` 进入插入模式(编辑文件),可以插入文本内容。
vim命令及快捷键

vim命令及快捷键[1. 关于Vim]vim是我最喜欢的编辑器,也是linux下第⼆强⼤的编辑器。
虽然emacs是公认的世界第⼀,我认为使⽤emacs并没有使⽤vi进⾏编辑来得⾼效。
如果是初学vi,运⾏⼀下vimtutor是个聪明的决定。
(如果你的系统环境不是中⽂,⽽你想使⽤中⽂的vimtutor,就运⾏vimtutor zh)[1.1 Vim的⼏种模式]正常模式:可以使⽤快捷键命令,或按:输⼊命令⾏。
插⼊模式:可以输⼊⽂本,在正常模式下,按i、a、o等都可以进⼊插⼊模式。
可视模式:正常模式下按v可以进⼊可视模式,在可视模式下,移动光标可以选择⽂本。
按V进⼊可视⾏模式,总是整⾏整⾏的选中。
ctrl+v进⼊可视块模式。
替换模式:正常模式下,按R进⼊。
[2. 启动Vim]vim -c cmd file: 在打开⽂件前,先执⾏指定的命令;vim -r file: 恢复上次异常退出的⽂件;vim -R file: 以只读的⽅式打开⽂件,但可以强制保存;vim -M file: 以只读的⽅式打开⽂件,不可以强制保存;vim -y num file: 将编辑窗⼝的⼤⼩设为num⾏;vim + file: 从⽂件的末尾开始;vim +num file: 从第num⾏开始;vim +/string file: 打开file,并将光标停留在第⼀个找到的string上。
vim --remote file: ⽤已有的vim进程打开指定的⽂件。
如果你不想启⽤多个vim会话,这个很有⽤。
但要注意,如果你⽤vim,会寻找名叫VIM的服务器;如果你已经有⼀个gvim在运⾏了,你可以⽤gvim --remote file在已有的gvim中打开⽂件。
[3. ⽂档操作]:e file --关闭当前编辑的⽂件,并开启新的⽂件。
如果对当前⽂件的修改未保存,vi会警告。
:e! file --放弃对当前⽂件的修改,编辑新的⽂件。
:e+file -- 开始新的⽂件,并从⽂件尾开始编辑。
Linux基础命令vim(底行模式)

Linux基础命令vim(底⾏模式)#只能从命令模式进⼊底⾏模式
#保存退出
:q #退出
:q! #强制退出
:w #保存
:wq #保存退出
:wq! #强制保存退出
:x #保存退出
#光标移动移动的⾏删除
:n #n 数字跳转到指定的⾏
:1d #删除第⼀⾏
:1,10d #删除多⾏
#替换跟sed⼀样
:%s#old#new#g #全局替换
:1s#admin#root#g #替换指定的⾏
:1,5s#bin#oldboy#g #替换多⾏
# ⽂件另存为
:w new1.txt #将⽂件的内容另存为⼀个新⽂件
:1,10w new2.txt #将⽂件的第⼀⾏到第⼗⾏内容另存为⼀个新⽂件
#导⼊其他⽂件内容进⼊这个⽂件
:$r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的结尾:0r /etc/hosts #导⼊/etc/hosts⽂件中的内容到此⽂件的⾏⾸
#搜索
/root #搜索root的字符串
n #向下查找
N #向上查找
/root\c #搜索的时候,忽略⼤⼩写
:noh #取消⾼亮。
linux下vim选择文本,删除,复制,粘贴

linux下vim选择⽂本,删除,复制,粘贴vim 选择⽂本,删除,复制,粘贴⽂本的选择,对于编辑器来说,是很基本的东西,也经常被⽤到,总结如下:v 从光标当前位置开始,光标所经过的地⽅会被选中,再按⼀下v结束。
V 从光标当前⾏开始,光标经过的⾏都会被选中,再按⼀下V结束。
Ctrl + v 从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按⼀下Ctrl + v结束。
ggVG 选中全部的⽂本,其中gg为跳到⾏⾸,V选中整⾏,G末尾选中后就可以⽤编辑命令对其进⾏编辑,如d 删除y 复制(默认是复制到"寄存器)p 粘贴(默认从"寄存器取出内容粘贴)"+y 复制到系统剪贴板(也就是vim的+寄存器)"+p 从系统剪贴板粘贴=============================================================vim命令总结1.删除字符要删除⼀个字符,只需要将光标移到该字符上按下"x"。
2.删除⼀⾏删除⼀整⾏内容使⽤"dd"命令。
删除后下⾯的⾏会移上来填补空缺。
3.删除换⾏符在Vim中你可以把两⾏合并为⼀⾏,也就是说两⾏之间的换⾏符被删除了:命令是"J"。
4.撤销如果你误删了过多的内容。
显然你可以再输⼊⼀遍,但是命令"u" 更简便,它可以撤消上⼀次的操作。
5.重做如果你撤消了多次,你还可以⽤CTRL-R(重做)来反转撤消的动作。
换句话说,它是对撤消的撤消。
撤消命令还有另⼀种形式,"U"命令,它⼀次撤消对⼀⾏的全部操作。
第⼆次使⽤该命令则会撤消前⼀个"U"的操作。
⽤"u"和CTRL-R你可以找回任何⼀个操作状态。
6.追加"i"命令可以在当前光标之前插⼊⽂本。
"a"命令可以在当前光标之后插⼊⽂本。
linuxvim编辑命令

linuxvim编辑命令
linux vim编辑命令
⼯作模式:vim有三种⼯作模式,命令模式、插⼊模式、编辑模式
vim 后⾯跟⽂件名,可以创建⽂件和编辑⽂件。
vim 进⼊⽂件编辑时,默认是命令模式,也就是说,这是你敲的任何字符系统都会当作命令来处理
退出命令模式::wq
如果想像记事本⼀样编辑⽂件,需要进⼊到插⼊模式,
进⼊插⼊模式的⽅法是:输⼊ iao中任意⼀个字母都可以
退出插⼊模式:按ESC键
编辑模式:可以输⼊⼀些辅助命令
在命令模式下:输⼊ : 进⼊编辑模式,然后就可以输⼊编辑模式的命令了。
编辑模式的命令执⾏完后,会⾃动回到命令模式
定位命令:
删除命令:
复制和剪切命令
替换和取消命令
搜索和搜索替换命令
保存和退出命令:
vim使⽤技巧
n1,n2s/^/#/g 解释:
其中n1 n2 表⽰⾏数,n1到n2⾏,^ 表⽰⼀⾏的最前⾯。
Linux使用vim命令编辑文件内容

Linux使⽤vim命令编辑⽂件内容在终端可以使⽤vim命令来直接编辑⽂件内容。
vim,也可以叫做vi。
vim有三种模式:命令模式、输⼊模式、底线命令模式。
命令模式vim ⽂件名进⼊命令模式,vim也可以写成vi。
如果⽂件不存在,先创建再打开,如果⽂件已存在,直接打开。
只能是当前⽬录下的⽂件,不能是document/1.txt这种⼦孙⽬录下的⽂件。
此模式下敲击键盘动作会被Vim识别为命令,⽽⾮输⼊字符。
常⽤命令:i 切换到输⼊模式,可以编辑⽂件内容,i即insert: 切换到底线命令模式。
所谓底线命令模式,是指输⼊的命令是在最后⼀⾏的(底线)。
输⼊模式在此模式下可以编辑⽂件内容。
可以使⽤很多键,⽐如Home、End、Del等。
按ESC可推出输⼊模式,回到命令模式。
底线命令模式在命令模式下按下:(英⽂冒号)即进⼊底线命令模式。
常⽤命令:w 保存⽂件q 退出vim(要先保存,才能退出)q!不⽤保存即可退出vim(强制退出)注意:执⾏⼀个底线命令后,会⾃动回退到命令模式,如果还要执⾏底线命令,需要先按:,就是说每次执⾏底线命令时都要先按:。
可⼀起使⽤,⽐如:wq 先保存⽂件再退出vim完成流程⽰例vim 1.txt 创建|打开⽂件按i进⼊输⼊模式,编辑内容。
按ESC退出输⼊模式、回退到命令模式按:wq保存⽂件并退出vim命令模式下常⽤的快捷键dd 删除当前⾏yy 复制当前⾏p 在当前⾏的下⾯粘贴出来r 替换当前字符这些命令要在命令模式下才可以使⽤。
输⼊模式按ESC回到命令模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vim(vi)是Linux中功能强大的编辑工具。
☆vim有3中主要的模式:
1.normal mode:当进入vim时,默认的模式就是normal mode。
在此模式下,无法输入任何文字,不过可以利用按键命令来执行许多操作命令,例如移动光标位置、复制、删除。
2.insert mode:进入vim输入a、i、或o键。
即可进入insert mode,此模式下可以输入文字内容。
mand-line mode:在norma lmode中输入“:”即会进入command-line mode,在此模式下,可以做一些与输入文字无关的事,例如搜索字符串、保存文件或结束编辑等。
☆在normal mode下:
h:将光标向左移动一格
l:将光标向右移动一格
j:将光标向下移动一格
k:将光标向上移动一格
ctrl+b:将页面向前卷动一页
ctrl+f:将页面向后卷动一页
0:将光标移到该行最前面
$:将光标移到该行的最后面
G:将光标移到最后一行的开头
w
e或E:将光标移到本单字的最后一个字符;如果光标所在位置为本单子的最后一个字符,则跳到下一个单字的最后一个字符。
b:将光标移到本单词的第一个字符;如果光标所在位置为本单词的第一个字符,则跳到上一个单字的第一个字符。
ctrl+u:将光标向前移动半页
ctrl+d:将光标向右移动半页
ctrl+e:屏幕向下卷动一行,也可以说文章和光标向上卷动一行
ctrl+y:屏幕向上卷动一行,也可以说文章和光标向下卷动一行
☆在command-line mode下:
e 文件的路径及名称:打开指定文件
a:从当前光标所在的位置的下一个字符开始输入
i:在光标所在的位置插入新输入的字符
o:新增加的一行,并将光标移到下一行的开头
w:文件的路径及名称保存文件
q:退出vim
☆Vim的常用操作命令
★复制文字
yy:可将光标目前所在位置的正行复制,复制时不会将文字反白显示
nyy:其中n为数字键,表示要复制的行数,若按3yy,则连同光标所在的位置的一行,与下面2行一起复制
yw:可复制光标所在位置到整个单词结束的字符
nyw:n表示要复制的单词数目,若按3yw,则会将目前光标所在位置到单词结束,以及后面的2个字一起复制
p:可将复制的文字粘贴到当前光标所在的位置。
若复制的是整行文字,则会将整行内容粘贴在光标所在位置的下一行
★删除文字
d:先按d键,放开后按←键,可将光标位置前一个字符删除;按→键,则会将光标位置的字符删除;按↑键,可将当前光标所在的行与前一行一并删除。
按↓键,可将当前的光标所在的行与下一行删除。
D:可删除一行中光标所在位置之后的所有字符。
dd:连续按2次d键可删除光标所在的那一行。
dw:将光标停在某个字的第一个字符,按dw键时,会将此字整个删除。
如将光标置在某个字中间的字符上,则会将此字中光标后面的字符删除。
nd:n为数字,如按3d,再按下↑键,则删除光标上方的3行,再包括本身1行,共删除4行。
若按下↓键,则删除光标下方3行再包括本身1行,共4行。
ndd:若按3dd键,表示删除当前光标位置的1行和下面的2行。
x:删除光标所在位置的字符
X:删除光标所在位置的前一个字符,与d+←键一样
nx:按4x键,表示删除光标位置后的3个字符和光标本身所在的字符
nX:按4X键,表示删除光标位置之前的4个字符(不包括光标的字符)
★查找及替换文字
/或?:当药搜索文章中的某一个字符串时,可输入“/”或“?”,然后在输入要查找的字符串。
例如输入“/kuka”,然后按回车键,vim就会把所有的gz字符串标记起来,并自动将光标移到第一个找到的字符串上。
n:将光标移到下一个找到的字符串上
N:将光标移到上一个找到的字符串上
r:替换光标所在的位置的字符。
修改内容不一定要进入insert mode,在normal mode 中,只要将光标移到要更改的字符上,然后按R键,就可以输入要查找的字符了。
R:连续替换光标所在的位置的字符,按Esc键停止替换
cc:按cc键可以替换光标所在的那一行
替换字符串:当要将文章中的某一个字符串全部替换时(例如将所有的temp替换成tmp),使用“:g/temp/s//tmp/g”或“:1,$stemp/tmp/g”命令,可立刻将所有的“temp”替换成“tmp”字符串。
如果不是所有的“temp”字符串都要替换时,可用“:g/temp/s//tmp/gc”或“:1/,$stemp/tmp/gc”命令。
则找到每一个“temp”字符串时,都会将整行显示在屏幕的下方,可输入“y”或“n”决定是否要替换。
★显示光标所在的行数、移到指定的行数
^g、^G:按次组合键,则会在最下方处显示光标所造位置的行数,以及文章的总行数。
nG:n为数字,若按下20G,则可将光标移到第20行。
★还原
u:按此键就是在执行undo命令,可取消前一次的操作
^r:按此键就是执行redo命令,可以恢复刚才undo的操作。