linux-VIM编辑器
linux下vi与vim区别以及vim的使用
linux下vi与vim区别以及vim的使⽤vi与vimvi编辑器是所有Unix及系统下标准的编辑器,他就相当于系统中的记事本⼀样,它的强⼤不逊⾊于任何最新的⽂本编辑器。
他是我们使⽤Linux系统不能缺少的⼯具。
由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界⾥畅⾏⽆阻。
vim 具有程序编辑的能⼒,可以以字体颜⾊辨别语法的正确性,⽅便程序设计;因为程序简单,编辑速度相当快速。
vim可以当作vi的升级版本,他可以⽤多种颜⾊的⽅式来显⽰⼀些特殊的信息。
vim会依据⽂件扩展名或者是⽂件内的开头信息,判断该⽂件的内容⽽⾃动的执⾏该程序的语法判断式,再以颜⾊来显⽰程序代码与⼀般信息。
vim⾥⾯加⼊了很多额外的功能,例如⽀持正则表达式的搜索、多⽂件编辑、块复制等等。
这对于我们在Linux上进⾏⼀些配置⽂件的修改⼯作时是很棒的功能。
为何要学 vi所有的Unix Like系统都会内建vi⽂本编辑器,其他的⽂本编辑器则不⼀定会存在;⼀些软件的编辑接⼝会主动调⽤vi (例如 crontab, visudo, edquota 等命令);vi的使⽤基本上vi可以分为三种状态,分别是⼀般模式、编辑模式和命令⾏模式,各模式的功能区分如下:⼀般模式:以vi打开⼀个⽂件就直接进⼊⼀般模式了(这是默认的模式)。
在这个模式中,你可以使⽤上下左右按键来移动光标,你可以使⽤删除字符或删除整⾏来处理⽂件内容,也可以使⽤复制、粘贴来处理你的⽂件数据。
编辑模式:在⼀般模式中可以进⾏删除、复制、粘贴等的操作,但是却⽆法编辑⽂件的内容,只有当到你按下【i, I, o, O, a, A, r, R】等任何⼀个字母之后才会进⼊编辑模式。
这时候屏幕的左下⽅会出现【INSERT或 REPLACE】的字样,此时才可以进⾏编辑。
⽽如果要回到⼀般模式时,则必须要按下【Esc】即可退出编辑模式。
命令⾏模式:输⼊【 : / ? 】三个中的任何⼀个,就可以将光标移动到最底下那⼀⾏。
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, 会按照你的颜⾊配置来转。
linuxvim编辑器实验
vim编辑器实验
1.在/usr/local目录下新建一个以“学号”命名的目录;
2.切换到/usr/local/“学号”目录下,显示当前的工作目录;
3.复制/etc/vsftpd/文件到当前目录;
4.查找文件中不包含#字符的行,并同时把显示结果保存到stuX
中(要求保存的顺序和查找结果的顺序一致);
Grep -nv “#” > stu10 >>
5.显示stuX文件内容
6.编辑stuX文件,显示行号
7.复制第5,6,7三行数据到文件末尾;5gg 3yy G p
8.删除第8,9两行数据
9.把文中“YES”替换为“OK” 1,$s/YES/OK/g
10.在编辑器中查找“enable”字符串;
11.保存退出后显示stuX文件内容
12.编辑一个名为classX的文件,文件内容为“《网络系统管
理与维护》实训作业”
13.打包并压缩“学号”目录,包名”学号”.
14.长格式显示当前文件夹内容
15.更改主机名为要求永久生效
/etc/sysconfig/network
更/etc/sysconfig/network-script/ifcfg-eth0,IPADDR=。
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编辑器和⽂件恢复第五章 Vim编辑器和恢复ext4下误删除的⽂件-Xmanager⼯具本节所讲内容:5.1 vim的使⽤5.2 实战:恢复ext4⽂件系统下误删除的⽂件5.3 实战:使⽤xmanager等远程连接⼯具管理Linux5.1 vim主要模式介绍,vim命令模式。
确保系统已经安装了VIM⼯具[root@panda ~]# rpm -qf `which vim`[root@panda ~]# rpm -qf `which vi`扩展:问:vi和vim是同⼀个软件包安装的吗?答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi5.1.1 vim编辑器模式⾸次进⼊⽂件 ---- 命令模式出现 “Insert” ---- 编辑模式输⼊: ---- 命令⾏模式A:从编辑模式到命令⾏模式怎样切换?编辑模式->esc->命令模式->: ->命令⾏模式B:字符操作(怎样进⼊编辑模式?)进⼊编辑模式 a i o A I O说明:i 当前字符之前插⼊ (光标前)I ⾏⾸插⼊ (⾏⾸)a 当前字符之后插⼊ (光标后)A ⾏尾插⼊(⾏尾)o下⼀⾏插⼊ (另起⼀⾏)O上⼀⾏插⼊(上⼀⾏插⼊)x 向后删除⼀个字符等同于deleteX 向前删除⼀个字符u 撤销⼀步每按⼀次就撤销⼀次r 替换5.1.2 在命令模式下做的操作:光标定位hjkl 左下上右0 和 home键表⽰切换到⾏⾸, $和end键表⽰切换到⾏尾gg 快速定位到⽂档的⾸⾏ , G定位到未⾏3gg 或者 3G 快速定位到第3⾏/string(字符串) -----找到或定位你要找的单词或内容,如果相符内容⽐较多,我们可以通过N、n来进⾏向上向下查找,并且vi会对查找到的内容进⾏⾼亮显⽰,取消⽤ :noh/^d ----^意思表⽰以什么开头,,查找以字母d开头的内容/t$ -----$意思表⽰以什么结尾,,查找以字母t结尾的内容vim + a.txt 打开⽂件后,光标会⾃动位于⽂件的最后⼀⾏如何对⽂本进⾏编辑删除、复制、粘贴、撤销y 复制(以字符为单位) :表⽰对单个字符进⾏复制,如果要复制整⾏,⽤yy(以⾏为单位)复制N⾏: Nyy ,⽐如: 2yy ,表⽰复制2⾏dd(删除,以⾏为单位,删除当前光标所在⾏)删除N⾏: Ndd ,⽐如: 2dd ,表⽰删除2⾏p : P粘贴剪切: ddx 删除光标所在位置的字符D 从光标处删除到⾏尾u 撤销操作ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样r 替换,或者说⽤来修改⼀个字符总结:vim如何进⼊其它模式a A o O i I 都是可以进⾏插⼊,编辑模式:进⼊命令⾏模式v 进⼊可视模式ctrl+v 进⼊可视块模式V 进⼊可视⾏模式R 擦除、改写,进⼊替换模式你进⼊以上模式后,想要退出,按esc扩展:插⼊模式中的操作ctrl+p可以进⾏补全操作,所需要的内容必须是在当前打开的⽂件内存在的,它只针对当前⽂件5.1..3 V模式(列)进⼊v模式移动光标选择区域、编程的时候需要进⾏多⾏注释:1)、ctrl+v 进⼊列编辑模式2)、向下或向上移动光标,把需要注释、编辑的⾏的开头选中起来4)、然后按⼤写的I5)、再插⼊注释符或者你需要插⼊的符号,⽐如"#"6)、再按Esc,就会全部注释或添加了删除:再按ctrl+v 进⼊列编辑模式;向下或向上移动光标;选中注释部分,然后按d, 就会删除注释符号。
Linux常用命令之文件编辑命令vim
Linux常⽤命令之⽂件编辑命令vimvi命令vi命令是UNIX操作系统和类UNIX操作系统中最通⽤的全屏幕纯⽂本编辑器。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,⽽且实现了很多增强功能。
vi编辑器⽀持编辑模式和命令模式,编辑模式下可以完成⽂本的编辑功能,命令模式下可以完成对⽂件的操作命令,要正确使⽤vi编辑器就必须熟练掌握着两种模式的切换。
默认情况下,打开vi编辑器后⾃动进⼊命令模式。
从编辑模式切换到命令模式使⽤“esc”键,从命令模式切换到编辑模式使⽤“A”、“a”、“O”、“o”、“I”、“i”键。
vi编辑器提供了丰富的内置命令,有些内置命令使⽤键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输⼊。
常⽤内置命令如下:Ctrl+u:向⽂件⾸翻半屏;Ctrl+d:向⽂件尾翻半屏;Ctrl+f:向⽂件尾翻⼀屏;Ctrl+b:向⽂件⾸翻⼀屏;Esc:从编辑模式切换到命令模式;ZZ:命令模式下保存当前⽂件所做的修改后退出vi;:⾏号:光标跳转到指定⾏的⾏⾸;:$:光标跳转到最后⼀⾏的⾏⾸;x或X:删除⼀个字符,x删除光标后的,⽽X删除光标前的;D:删除从当前光标到光标所在⾏尾的全部字符;:删除光标⾏正⾏内容;ndd:删除当前⾏及其后n-1⾏;nyy:将当前⾏及其下n⾏的内容保存到寄存器?中,其中?为⼀个字母,n为⼀个数字;p:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的下⽅;P:粘贴⽂本操作,⽤于将缓存区的内容粘贴到当前光标所在位置的上⽅;/字符串:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件尾部查找指定字符串的内容,查找的字符串会被加亮显⽰;?name:⽂本查找操作,⽤于从当前光标所在位置开始向⽂件头部查找指定字符串的内容,查找的字符串会被加亮显⽰;a,bs/F/T:替换⽂本操作,⽤于在第a⾏到第b⾏之间,将F字符串换成T字符串。
Linux基础命令以及VIM文本编辑器的基本使用
常用命令目录方面命令:ls,dir,cd,clear,mkdir文件方面命令:cp,mv,rm,ln帮助方面命令:man,help,info,wiki,doc,blog显示方面命令:cat,tac,head,tail,more,less权限方面命令:chmod,chown,chgrp压缩方面命令:tar,gzip,bzip2关机重启命令:reboot,shutdown,poweroff,halt,init磁盘管理命令:df,du,fdisk,mount,nomount进程管理命令:ps,pstree,kill,killall用户方面命令:w,who,su,sudo,passwd******************************************************************** 目录方面命令:ls,dir,cd,clear,mkdir******************************************************************** ls 显示指定目录的文件和目录ls -a 列出目录下的所有文件,包括以. 开头的隐藏文件ls -l 显示指定目录的详细列表ls -R 列出所有子目录下的文件ls -F 在每个文件名后附上一个字符以说明该文件的类型/ 表示目录文件* 表示执行文件@ 表示符号链接文件= scoket文件| 管道文件-----------------------------------------------------------------------------dir = ls 也是显示指定目录的文件和目录,单很少使用,一般使用ls-----------------------------------------------------------------------------cd 切换目录cd ~ = cd 切换到当前用户的工作目录。
linux--VIM命令大全
基础在文件中移动剪切、复制和粘贴搜索替换大小写读写文件文件浏览器和 Unix 系统交互对齐Tabs/Windows分屏显示自动完成Marks缩写文本缩进语法高亮插入模式下的命令:一般使用Vim时都在正常模式下,但如果知道几个专门用于插入模式下的快捷命令,会感觉更快捷一些。
参考:help insert-index,事实上插入模式下的自动补全功能,那个才真正给力。
调整缩进在插入模式下如果希望调整行的缩进,可以<Esc>返回正常模式,>或者<调整缩进,然后使用i或者a返回插入模式下,要按3次键,下面的组合键能够实现在插入模式下的缩进调整,每次调整一个shiftwidth宽度。
这个尤其用在写if之类的缩进结构时候,很方便。
CTRL+D 减少缩进CTRL+T 增加缩进复制相邻行的内容写东西的时候经常出现相邻两行的内容很想近的情况,你可以用复制粘贴功能,也可以直接一个字符一个字符地复制。
CTRL+Y 复制上一行的相同列的字符CTRL+E 复制下一行的相同列的字符举个实际的例子,比如一行内容是:num1 is 数字在这一行下方新增加一个空白行(插入模式下在行尾回车或者正常模式下按o),光标在num1的n正下方,这时候按3下<ctrl+y>,num被复制到当前位置,输入数字2后继续<ctrl+y>,空格和汉字也能够正确被一个一个地复制下来。
粘贴剪贴板在插入模式下<CTRL+R> {0-9a-z"%#*:=}能够插入剪贴板的内容,如果想临时查看各个剪贴板的内容,可以使用<ctrl+o>:reg<回车>,会显示出各个剪贴板的内容。
当然输入这个命令很麻烦,做个快捷键吧,把下面这句放到你的vimrc里面,当然F3可以换成其他功能键,这样你在插入模式下就可以按F3列出所有剪贴板的当前内容,然后<CTRL+R>剪贴板名称吧,这样做的好处是粘贴完仍然在插入模式下。
麒麟Linux系统vi文本编辑器介绍
–为删除从当前行到文件结尾的所有内容,需输入dG
复制和移动文本
•复制一行命令:yy •粘贴命令:p •移动文本:
–先将要移动的部分用删除命令删除,然后再粘贴就 可以了
•复制指定文件的内容: r filename
搜索和替换
•像less命令一样搜索一个字符串:
–输入/,并在/后面输入要搜索的串,然后按下回车 –输入“n”跳转到该串的下一个出现处 –输入“N”跳转到该串的上一个出现处
•像 sed 命令中的搜索 / 替换
–默认只影响到当前所在行 –使用 x,y 范围或用 % 在整个文件中搜索
•:1,5s/cat/dog/ •:%s/cat/dog/gi
替换一个字符串
•在一行内替换头一个字符串old为新的字符串new
– :s/old/new
•在一行内替换所有的字符串old为新的字符串new
–输入a后,在光标的右边插入文本 –输入A,在一行的结尾处添加文本
本 –通过在命令模式下输入I,在行首插入文本
•插入新行:
–输入o,在当前光标位置下面打开一行 –输入O,在当前光标位置上面打开一行
撤消更改
•撤消前一个命令:
–在最后一个命令之后立即输入u来撤消该命令
•Ex 模式下的指令总是会影响到当前的窗口 •:help windows 显示更多的窗口命令
设置vi
•显示行号
–:set number
•取消行号显示
–:set nonumber
•设置显示用户模式
–:set showmode
•设置文件只读
–:set readonly
•显示文件编码和设置文件编码
–:set fileencoding=utf-8
Linux中使用vim命令进行文本编辑和编程
Linux中使用vim命令进行文本编辑和编程Linux是一种开放源代码的操作系统,广泛应用于服务器和嵌入式设备上。
而vim作为Linux中最常用的文本编辑器之一,具有强大的编辑功能和灵活的编程支持。
本文将介绍在Linux中如何使用vim命令进行文本编辑和编程。
一、vim的安装和启动在大多数Linux发行版中,vim已经预装。
如果未安装,可以通过包管理器进行安装,例如在Ubuntu中可以使用以下命令进行安装:sudo apt-get install vim安装完成后,通过在终端中输入vim命令即可启动vim编辑器。
二、vim的基本模式和操作vim有两种基本模式:命令模式和编辑模式。
在命令模式下,可以执行各种命令;在编辑模式下,可以输入、修改文本内容。
以下是一些常用的vim命令:1. 在命令模式下:- i:进入插入模式,可以开始编辑文本。
- :w:保存文件。
- :q:退出vim。
- :wq:保存并退出vim。
- :q!:强制退出vim,不保存修改。
2. 在编辑模式下:- 方向键或h/j/k/l:在文本中移动光标。
- x:删除光标所在处的字符。
- dd:删除光标所在行。
- p:粘贴最后一次删除的内容。
- u:撤销上一次操作。
三、文本编辑功能vim不仅能够编辑普通文本,还支持各种文本编辑功能,如查找替换、复制粘贴等。
1. 查找和替换:- 在命令模式下,输入“/要查找的内容”可以查找指定内容。
- 输入“:s/原内容/新内容/g”可以替换文本中的内容。
2. 复制和粘贴:- 先将光标移到要复制的文本开头,按下“v”键进入可视模式,然后移动光标选中要复制的文本。
- 按下“y”键复制选中的文本。
- 将光标移动到要粘贴的位置,按下“p”键粘贴复制的文本。
四、编程支持vim作为一款强大的编辑器,提供了丰富的编程支持。
下面介绍几个常用的编程功能和快捷键。
1. 语法高亮:vim支持许多编程语言的语法高亮显示,以帮助开发者更好地阅读和编辑代码。
Linux系统下vim编辑器的模式切换与常用命令
Linux系统下vim编辑器的模式切换与常⽤命令Linux系统下vim是⼀款⽐较常⽤的⽂本编辑器,但由于其操作⽅式和常⽤的编辑器相⽐有很⼤的差别,所以为了满⾜⽇常开发,有必要学习其编辑⽅法。
⼀.启动Vim1.双击任务栏上的图标,就可以启动Vim。
2.在终端输⼊vim ,就可以启动Vim。
⼆.Vim的四种操作模式1.Vim常⽤模式命令模式(command-mode);插⼊模式(insert-mode);可视模式(visual-mode);标准模式(normal-mode)。
2.如何进⼊这些模式①.标准模式标准模式主要⽤来浏览和修改⽂本内容的,⼀般,打开Vim都是标准模式。
在任何模式下,只要按下 Esc 键就可以返回标准模式。
②.插⼊模式插⼊模式则⽤来向⽂本中添加内容的:i 在光标所在字符前开始输⼊⽂字并进⼊插⼊模式。
a 在光标所在字符后开始输⼊⽂字并进⼊插⼊模式。
o (字母o) 在光标所在⾏的下⾯单独开⼀新⾏来输⼊⽂字并进⼊插⼊模式。
s 删除光标所在的字符并进⼊插⼊模式。
I 在⾏⾸开始输⼊⽂字并进⼊插⼊模式。
此⾏⾸指第⼀个⾮空⽩字符处。
如果⾏⾸有空格,则在空格之后输⼊⽂字并进⼊插⼊模式。
A 在⾏尾开始输⼊⽂字并进⼊插⼊模式。
这个好⽤,您不必管光标在此⾏的什麽地⽅,只要按 A 就会在⾏尾等着您输⼊⽂字。
O (⼤写字母O) 在光标所在⾏的上⾯单独开⼀新⾏来输⼊⽂字并进⼊插⼊模式。
S 删除光标所在⾏并进⼊插⼊模式。
③可视模式可视模式相当于⾼亮选取⽂本后的标准模式,可视模式具有⼦模式,以⾏为单位进⾏选取的可视⾏模式,使⽤“V”键进⼊(也就是Shift+v);和以块为单位进⾏选取的可视块模式,使⽤“Ctrl+v”键进⼊。
④命令模式命令模式则多⽤于操作⽂本⽂件(⽽不是操作⽂本⽂件的内容),例如保存⽂件,或者⽤来改变编辑器本⾝的状态,例如设定多栏窗⼝、标签或者退出编辑器……三.模式的转换①其它模式==>标准模式按 Esc 键。
linux系统中vim编辑器的使用命令模式、编辑模式、末行模式的切换
linux系统中vim编辑器的使⽤命令模式、编辑模式、末⾏模式的切换1、创建测试数据[root@linuxprobe test]# echo -e "1 2 3 4\n5 6 7 8\n9 5 6 3\n2 3 4 5" > b.txt ##测试数据[root@linuxprobe test]# cat b.txt1 2 3 45 6 7 89 5 6 32 3 4 52、vim编辑器顾名思义主要⽤于⽂本编辑,vim基本使⽤格式 vim file,例如:vim b.txt## 打开⽂件后的退出⽅式输⼊:":q!",即可退回正常终端3、vim编辑器的三种模式:命令模式、编辑模式、末⾏模式命令模式:命令模式是 vim file 打开⽂件后的模式,如 vim b.txt由命令模式进⼊编辑模式:直接在键盘上以下任⼀:i、I、a、A、o、O;如在键盘上直接输⼊i:左下⾓变成 --INSERT--,在这种模式下可以对⽂本直接进⾏编辑如下:(使⽤⽅向键调节输⼊位置)由编辑模式退回命令模式:直接在键盘上按Esc键即可,按完Esc键,左下⾓的 --INSERT--消失,回到命令模式。
由命令模式进⼊末⾏模式:直接使⽤键盘输⼊英⽂冒号:":",左下⾓的冒号是末⾏模式的标志。
末⾏模式⽤于:退出、保存、输⼊执⾏命令。
由末⾏模式返回命令模式:直接在键盘按Esc键,左下⾓冒号消失是退出末⾏模式标志。
4、退出不保存编辑结果退出,在键盘输⼊:":q!" , 如果保存编辑结果退出,在键盘输⼊:":wq!"。
如:不保存退出:5、注:(1)、vim编辑器任何模式下只要按Esc键就可返回命令模式。
(2)、编辑模式和末⾏模式之间不能直接切换,必须经过命令模式。
【Linux】Vim编辑器常用命令
【Linux】Vim编辑器常⽤命令1. 启动vim:vim ⽂件名(如果是不存在的,则新建)2. 打开⽂件:vim ⽂件名(⽂件必须存在)3. vim的模式正常模式(按Esc或Ctrl+[进⼊)左下⾓显⽰⽂件名或为空以vi打开⼀个⽂件就直接进⼊⼀般模式了(这是默认的模式)。
在这个模式中,你可以使⽤上下左右按键来移动光标,你可以使⽤删除字符或删除整⾏来处理⽂件内容,也可以使⽤复制、粘贴来处理你的⽂件数据。
插⼊模式(按i键进⼊)左下⾓显⽰--INSERT—在⼀般模式中可以进⾏删除、复制、粘贴等的操作,但是却⽆法编辑⽂件的内容,只有当到你按下【i, I, o, O, a, A, r, R】等任何⼀个字母之后才会进⼊编辑模式。
这时候屏幕的左下⽅会出现【INSERT或 REPLACE】的字样,此时才可以进⾏编辑。
⽽如果要回到⼀般模式时,则必须要按下【Esc】即可退出编辑模式。
可视模式(不知道如何进⼊)左下⾓显⽰--VISUAL—命令⾏控制界⾯(shift+:)输⼊【 : / ? 】三个中的任何⼀个,就可以将光标移动到最底下那⼀⾏。
在这个模式中,可以提供查找、读取、存盘、替换字符、离开vi、显⽰⾏号等的动作则是在此模式中完成的!4. 插⼊命令i 在当前位置⽣前插⼊I 在当前⾏⾸插⼊a 在当前位置后插⼊A 在当前⾏尾插⼊o 在当前⾏之后插⼊⼀⾏O 在当前⾏之前插⼊⼀⾏【r, R】进⼊取代模式:r 只会取代光标所在的那⼀个字符⼀次R 会⼀直取代光标所在的⽂字,直到按下 ESC 为⽌;5. 移动命令h 左移⼀个字符l 右移⼀个字符,这个命令很少⽤,⼀般⽤w代替。
k 上移⼀个字符j 下移⼀个字符w 光标跳到下个字的开头e 光标跳到下个字的字尾H 光标移动到这个屏幕的最上⽅那⼀⾏的第⼀个字符M 光标移动到这个屏幕的中间那⼀⾏的第⼀个字符L 光标移动到这个屏幕的最下⽅那⼀⾏的第⼀个字符G 移动到这个⽂件的最后⼀⾏nG 移动到这个⽂件的第n⾏(可配合:set nu)gg 移动到这个⽂件的第⼀⾏,相当于1GEnd 移动到这⼀⾏的最后⾯字符处:$,我测试好像不⾏Home 移动到这⼀⾏的最前⾯字符处:0数字,但不能⽤数字⼩键盘上的数字Ctrl + e 向下滚动⼀⾏Ctrl + y 向上滚动⼀⾏Ctrl + d 向下滚动半屏Ctrl + u 向上滚动半屏Ctrl + f 向下滚动⼀屏Ctrl + b 向上滚动⼀屏n<space> 光标向右移动n个字符n<Enter> 光标向下移动n⾏6. 撤销和重做u 撤销(Undo)U 撤销对整⾏的操作trl + r 重做(Redo),即撤销的撤销。
Linux_vim编辑器使用总结
Linux_vim编辑器使⽤总结⼀、vi编辑器 vim是linux下的⼀个纯⽂本编辑器,是vi编辑器的增强版。
它相较于vi⽽⾔,有⽂本字体颜⾊显⽰等特点,有助于对⽂本编辑。
vim使⽤⼩技巧:直接输⼊vi命令后,使⽤的是vim编辑器 解决思路:使⽤“alias”别名 设置⽅法1: 使⽤命令如下:alias vi=’vim’(临时有效) 设置⽅法2:将 alias vi=’vim’ 命令放⼊环境变量配置⽂件(~/.bashrc)中永久有效 Step1:vi ~/.bashrc Step2:在⽂件中添加 alias vi=’vim’ 命令 Step3:source ~/.bashrc(⽴即加载修改后的设置,才能使之⽣效)⼆、vim基本使⽤1、vim的⼯作模式:⼀般模式、编辑模式、命令⾏模式2、三种模式的简要说明 ⼀般模式:主要使⽤快捷键的模式,如可以上下左右按键移动光标、删除字符或删除整⾏、复制、粘贴等操作; 使⽤vim打开⽂件即可进⼊⼀般模式。
编辑模式:主要⽤于⽂本编辑,和记事本类似,⽤于⽂本输⼊。
从⼀般模式进⼊编辑模式:a、A、i、I、o、O 从编辑模式退出,进⼊⼀般模式:按“Esc”键即可 命令⾏模式:可以将光标移动到最底下那⼀⾏,可以进⾏⽂件内搜索、读取、存盘、⼤量取代字符、退出vim编辑器、显⽰⾏号等。
进⼊命令⾏后,输⼊命令后按回车键运⾏并结束命令进⼊⼀般模式;或按“Esc”键退出命令⾏模式。
从⼀般模式进⼊命令⾏模式:“:”、“/”、“?”3、⼀般模式下的操作3.1、移动光标的⽅法 1)、上下左右移动光标: 使⽤技巧: 若想要进⾏多次移动,可以使⽤“数字+hjkl”的⽅式操作,如: 向下移动30⾏,可以使⽤“30j”的组合按键,即加上想要进⾏的次数(数字)后,按下动作即可。
2)、光标移动到⽂件头或尾 使⽤技巧:使⽤“nG”,可移动到⽂件的第n⾏(n表⽰数字) 3)、移动到⾏⾸或⾏尾 说明:“^”键在英⽂输⼊下按“shift+6”;“$”键在英⽂输⼊下按“shift+4” 4)、移动到指定⾏ 说明:n表⽰数字3.2、删除、剪切、粘贴 1)、删除、剪切 补充说明:dd快捷键既是删除,也是剪切。
linuxvim编辑器的用法
linuxvim编辑器的用法linuxvim编辑器是Linux系统中常用的文本编辑器,它可以在纯文本环境下完成文本文件的编辑、创建等功能。
本文主要介绍使用linux vim编辑器时应遵循的操作要求。
要想使用vim进行文件编辑,首先要将其安装到Linux系统中。
在终端中输入以下命令即可完成安装:sudo apt-get install vim安装完成后,可以在终端中输入vim -version检查一下版本号,默认安装的是Vim 7.2版本。
二、 vim编辑器基本命令1、打开文件:在终端中输入:vim file.txt即可打开指定的文件;2、缩进:可以使用键盘上数字键上的<和>来完成缩进操作;3、查找:可以输入 /string 可以查找指定文本,输入n可以跳转到下一个指定文本处;4、换行:要将光标移动到一行的结尾处,可以使用键盘上的$符号;5、替换:替换命令为::s/old/new/g,其中old是原有的字符串,new是新的字符串;6、保存:使用快捷键 :w即可将当前文件保存;1、^:代表当前行的开始位置;4、*:表示上一次操作的文本;5、%:表示所有内容(以文件头到文件尾);6、#:表示上一条搜索的字符串;7、@:表示上一次的替换内容;8、[和]:表示上一次的复制状态;9、[:表示左端搜索;1、复制粘贴:选择你要复制的文本,使用shift+V粘贴到要复制的位置,可以复制多行文本;2、跳转行:在终端中输入:<num>:<action>,可以将光标跳转到第num行,之后可以执行自定义的操作;3、跳转列:输入c$可以将光标跳转到行尾,输入0可以将光标跳转到行首;4、删除:输入dd可以删除当前行文本,输入x可以删除光标下的一个字符;6、跳转标签:可以使用将指定标签用大写字母T来指向,如:CT可以跳转到标签处。
以上就是用linux vim编辑器时应遵循的操作步骤以及常用功能。
linux中vim编辑器三种模式及常用命令的使用
linux中vim编辑器三种模式及常⽤命令的使⽤Linux命令经常使⽤才会烂熟于⼼命令⾏模式: 移动光标: 向下左右箭头可以移动光标; 将光标移动到⾏尾:$; 将光标移动到⾏头:^; 将光标移动到页尾:shift+g; 将光标移动到页头:1+shift+g; 移动到⽬标⾏:n+shift+g; 快速向左右移动光标:ctrl+←/→键; 向左或者向右移动n个字符:n+←/→键;----------------------- 删除: 删除光标所在⾏:dd; 删除光标所在⾏及之后的n-1⾏:dnd; 删除⼀个字母:x (相当于是del); 删除⼀个字母:X (相当于是backspace); 删除⼀个词:dw;(最好是放在单词的⾸字母处) 撤销上⼀步:u;---------------------- 移动单词: 向右移动⼀个单词:w; 向左移动⼀个单词:b;---------------------- 复制粘贴: 复制当前光标所在⾏:yy; 箭头移动到⽬的⾏粘贴:p; 复制当前光标所在⾏及之后的n-1⾏:yny; 复制⼀个词:yw;----------------------- 剪切: 剪切当前光标所在位置到⾏尾: d+shift+4/d+$; 剪切当前光标所在位置到⾏⾸:d+shift+6/d+^;编辑模式: 在命令⾏模式下进⼊编辑模式,需要按下i、I、a、A、o、O、r、R这些才能进⼊编辑模式,⼀般直接按下i就⾏; i是在当前光标前编辑,a是在当前光标后进⾏编辑,o是在当前光标的下⼀⾏进⾏编辑; 退出编辑模式进⼊命令⾏模式需要按下esc键。
末⾏模式: 命令⾏模式进⼊末⾏模式的⽅式: 1.: 2./ 查找,/+被查找的单词,n是下⼀个,shift+n是指上⼀个; 3.? 查找,?+被查找的单词,n是上⼀个,shift+n是下⼀个; 存盘指令:w; 另存指令:w ⽂件名; 退出指令:q; 保存并退出指令:wq; 强制退出不存盘指令:q!; 替换:%s/old/new/g; 显⽰⾏号:set nu;总结: --------- 按键盘i键-------->输⼊模式 (按Esc键回到命令模式)|命令模式|-----------输⼊ ":" ------> 末⾏模式 (按Esc键回到命令模式) 三种模式的主要功能: 命令模式:复制,粘贴,删除、移动光标、查找 编辑模式:编辑⽂本 末⾏模式:存盘、退出、替换、查找。
Linux环境变量设置与VIM编辑器使用
8.使用vim编辑器编辑网卡eth0的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
(1)按照实验七中任务三中的相关配置参数,直接利用vim编辑器修改网卡eth0的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,然后使用ifdown/ifup eth0使得配置参数立即生效。
三、实验内容及步骤:
1.了解设置环境变量相关的配置文件
(1)/etc/profile:在登录时操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
set nu//显示行号
colorschemeblue//设置配色方案,vim程序带的配色方案在其安装目录下,
即/usr/share/vim/vim70/colors目录下
set autoindent //自动缩进
(3)按Esc键,返回命令模式,再按:键,进入底行模式,输入以下命令保存并退出
:wq/root/.vimrc
如果filename已存在,则打开该文件,如不存在,则在缓存中创建该文件。
(2)vi编辑器的模式切换
6.vi编辑器编辑文件实例
以root账户登录到系统中,工作目录为root的主目录,均在命令/底行模式下操作。
(1)新建文本文件ls_etc
#vimls_etc或者#vim /root/ls_etc//启动vim编辑器即处于命令模式
linuxVIM指令
linux下的vim编辑器常用的一些用法操作举例并说明作用。
没有花里胡哨的概念介绍仅以实际的使用方法举例。
一、vim常用快捷键和实用操作vim打开文件方式:**用法1:vim /tmp/myshell.sh表示打开tmp目录下的myshell.sh文件,不存在则创建一个,默认光标会定位到上次所在位置和高亮上次高亮的内容。
用法2:vim +10 /tmp/myshell.sh表示打开tmp目录下的myshell.sh文件并且将光标移动到第10行。
用法3:vim +/hello /tmp/myshell.sh表示打开tmp目录下的myshell.sh文件并且高亮显示文件里所有的hello内容。
用法4:vim /tmp/myshell.sh /home/my.sh /root/a.txt 表示同时打开tmp目录下的myshell.sh、home目录下的my.sh和root目录下的a.txt文件。
vim常用的三种模式:命令模式、编辑模式、末行模式(尾行模式)1.命令模式[命令模式下无法编辑文件,只允许删除,复制,粘贴,撤销,使用快捷键等操作,文件打开时默认进入此模式]光标移动操作:特别技巧:数字+上下左右按键可以向对应方向移动光标到指定位置,如:5+向上键表示是向上移动光标5行。
用法1:shift+6或^表示移动光标到所在行的行首位置。
用法2:shift+4或&表示移动光标到所在行的行尾位置。
用法3:gg表示将光标移动到文件内容的第一行位置,这里注意是小写字母。
表示将光标移动到文件内容的最后一行位置,这里注意是大写字母。
用法5:5G表示将光标移动到文件内容的第5行位置,这里注意是大写字母。
用法6:ctrl+b或pg up表示向上翻屏。
用法7:ctrl+f或pg dn表示向下翻屏。
复制、删除、粘贴、撤销操作:用法1:yy表示复制光标所在行的整行内容。
用法2:5yy表示复制包含光标所在行向下的5行内容。
linu中vim编辑器的使用
打开ubutun后,点击“应用程序”“附件”“终端”即可进入linux环境,如下图:输入『 vi 文档名』按回车键就能够进入 vi 的一般模式了;请注意,记得 vi 后面一定要加文档名,不管该文档名是否存在;例如键入vi test3并按回车出现如下图所示内容:文件test3为一个新建的文件,故在最下方显示“test3”New File,若vi后的文件名为已有的文件,则最下方显示的是该文件的相关信息;vim文本编辑环境有三种模式,分别为“一般模式”、“编辑模式”、“命令行模式”,进入vim文本编辑环境后默认为一般模式;一般模式和编辑模式、一般模式和命令行模式可以相互转换,命令行模式和编辑模式不能相互转换;一般模式:在一般模式中, 你可以使用『上下左右』按键来移动游标,你可以使用『删除字元』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件资料,但不能从键盘输入字符添加到文件中;编辑模式:在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的;你只要按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式;通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE』的字样,此时才可以进行编辑;而如果要回到一般模式时, 则必须要按下『Esc』这个按键;进入插入模式不同按键对应的不同功能如下表:另外,在编辑模式下不要按上下左右键按下后会出现一些你不想要的字符,在该模式下只能输入字符和按回车键换行,要想将光标移到某一位置,只能按Esc回到一般模式下操作;按下i, I, o, O, a, A, r, R进入编辑模式时,相应的字母不会显示出来,此时不必担心是否已进入编辑模式,它已经进入编辑模式了,我们尽管继续操作就行;命令行模式:在一般模式当中,输入『: / 』三个中的任何一个按钮,就可以将游标移动到最底下那一行;在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存档、大量取代字元、离开 vi 、显示行号等等的动作则是在此模式中达成的下图为在插入模式下输入的内容;在一般模式下光标的活动范围为被编辑过的部分,即光标无法移动到前面有“~”符号的行中;在一般模式中输入 :wq 并按回车储存后离开 vi 回到linux命令行环境,如下图最下方所示:下面再介绍一下在一般模式下一些常用按键的功能红色为比较重要的内容:为了方便大家记忆,我对上述指令作了如下总结:“x”删除以字符计的内容,“dd”删除以行计的内容,“yy”复制以行计的内容,带有“G”的为从当前位置到某一个位置,“0”代表行首,“$”代表行尾,“j”代表向下,“k”代表向上;下面将几个简单命令的实验结果截图如下:例如运行替换命令前的内容为:运行替换命令后的内容为:试验命令“:1,$s/word1/word2/gc”的截图如下:按回车键后结果如下:输入y后结果如下:最后再介绍一下在命令行模式下一些指令的含义:特别注意,在 vi 中,『数字』是很有意义的数字通常代表重复做几次的意思也有可能是代表去到第几个之类的意思;举例来说,要删除 50 行,则是用『50dd』 ; 数字加在动作之前——例如要向下移动 20 行,就是『20j』或者『20↓』;以上内容是我通过收集网上的资料并结合自己的练习整理的,希望对大家学vim编辑器有用;。
linux---vim和grep
linux---vim和grep vim编辑器
在Linux系统中,推荐使⽤vim编辑器⼯具编辑⽂本和配置⽂件。
安装:yum install vim-enhanced
⽰例:
注:如果⽂件不存在的话,可以直接使⽤vim创建,如 vim 1.txt
三种模式:
命令模式(Command mode)
使⽤命令 vim ⽂件名后,便进⼊了命令模式。
在此模式下敲击键盘的动作会被Vim识别为命令。
常⽤命令:i 切换到输⼊模式。
x 删除当前光标后⾯的⼀个字符。
:切换到底线命令模式。
输⼊模式(Insert mode)
此模式下进⾏⽂本编辑。
底线命令模式(Last Line mode)
此模式下可以输⼊单个或多个字符的命令。
常⽤命令:q 退出vim。
w 保存⽂件。
wq 保存并退出。
set nu 显⽰⾏号。
注:按ESC键,可从输⼊模式(1下ESC)或底线命令模式(2下ESC)退出到命令模式。
cat 查看⽂件内容
cat -n 1.txt 显⽰⾏号
grep ⽂本过滤⼯具(很重要)
print lines match a pattern(格式)
参数:-i 不区分⼤⼩写(ignore) -v 取反(invert) -n 显⽰⾏号(line-number) -w 按单词过滤(word-regexp) -o 只匹配过滤的内容(only-matching,结合正则表达式使⽤) -E 同时匹配多个过滤(等同于egrep命令)
-c 只输出匹配⾏的计数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操 作 说 明
0 $ PageDn PageUp G gg
游标移至行首 游标移至行尾 向下滚动一页 向上滚动一页 移至档尾 移至档首
命令模式下常用命令
删除 操 D dd dG dgg 作 说 明
删除至行末的文字 删除一行 删除至档尾的文字 删除至档首的文字
命令模式下常用命令
取代与还原 操 R S u 作 说 明
底行模式下常用命令
替换 :[range]s/pattern/string/[c,e,g,i] range 指的是范围,1,7 指从第一行至第七行; 指的是范围, 指从第一行至第七行; 代表目前编辑的文件; %代表目前编辑的文件;#代表前一次编辑的文件 。 就是要被替换掉的字串, pattern 就是要被替换掉的字串, 所取代。 string 將pattern 由string 所取代。
底行模式下常用命令
• 打开多个文档方法一 #vim file1.txt file2.txt… 操 :n :N 作 说 明
编辑下一个文件。 编辑下一个文件。 编辑前一个文件。 编辑前Βιβλιοθήκη 个文件。底行模式下常用命令
• 方法二 #vim file1.txt 操 作 说 明
:e 文件名
在进入vim 后,在不离开 在不离开vim 的情形下 在进入 再打开其它文件。 再打开其它文件。只要您要编辑的文件 在当前目录, 补全键就可以使用。 在当前目录,Tab补全键就可以使用。 补全键就可以使用
进入取代模式,取代字符至按Esc 为止。 为止。 进入取代模式,取代字符至按 取代整行內容 取消操作( 取消操作(undo) )
命令模式下常用命令
复制与粘贴 操 yy 2yy y0 yG p(小写 小写) 小写 P(大写) (大写) 作 说 明
复制光标所在行整行。 复制光标所在行整行。 复制两行 复制至行首 复制至行尾 粘贴至光标后 粘贴至光标前
底行模式下常用命令
替换 :[range]s/pattern/string/[c,e,g,i] • 举例说明: 举例说明: 把光标所在行的所有单词the 替换成THE the, THE: 把光标所在行的所有单词the,替换成THE: • :s /the/THE/g 把整篇文档的所有的the都替换成THE the都替换成THE: 把整篇文档的所有的the都替换成THE: • :%s /the/THE/g 仅仅是把第1行到第10行中的the 替换成THE 10行中的the, THE: 仅仅是把第1行到第10行中的the,替换成THE: • :1,10 s /the/THE/g
:set noautoindent 取消缩进
底行模式下常用命令
• 当退出VIM编辑器时,在底行模式下使 编辑器时, 当退出 编辑器时 用的SET命令失效,要永久性的改变 命令失效, 用的 命令失效 VIM编辑器选项,可以修改文件 编辑器选项, 编辑器选项 可以修改文件~/.vimrc
1. :scriptnames 显示各种选项配置文件所在 路径及其文件名。 路径及其文件名。 2. 将文件 将文件vimrc复制到 复制到~/.vimrc 复制到 3. 修改配置文件 修改配置文件~/.vimrc
底行模式下常用命令
替换 :[range]s/pattern/string/[c,e,g,i] c confirm,每次替换前会询问。 confirm,每次替换前会询问。 不显示error error。 e 不显示error。 globe,不询问,整行替換。 g globe,不询问,整行替換。 不分大小写。 i ignore 不分大小写。 一般都是要加的, g 一般都是要加的,否则只会替換每一行的第 一个符合字串。 一个符合字串。 可以合起來用, cgi,表示不分大小写, 可以合起來用,如cgi,表示不分大小写,整行 替換,替換前要询问是否替換。 替換,替換前要询问是否替換。
底行模式下常用命令
离开 操 :q :q! :wq :ZZ 作 说 明
退出。如文件有修改而沒存档, 退出。如文件有修改而沒存档,会警 告。 退出,不保存修改。 退出,不保存修改。 保存并退出。即使未做修改也保存。 保存并退出。即使未做修改也保存。
保存后离开。如文件沒有修改, 保存后离开。如文件沒有修改,不保 存。 :w 文件名 另存。不加文件名就是写入原文件 另存。
进入插入模式
• 进入vim 后,按i 进入插入模式,就可以 进入vim 进入插入模式, 编写您的文件了。 编写您的文件了。 • 在vim 中光标的移动可以由方向键來完成。 中光标的移动可以由方向键來完成。 键可消去前一个字符, Backspace 键可消去前一个字符,Del 键 可刪除光标所在处的字符。 可刪除光标所在处的字符。
命令模式下常用命令
指令“ 指令“.”可用于重复任何编辑命令, 可用于重复任何编辑命令, 如替换、 如替换、粘贴 替换、 替换、删除的内容都会被放到缓冲区
底行模式下常用命令
搜寻 操 / n N * 作 说 明
就会在左下方出現一个/, 按/ 就会在左下方出現一个 ,然后键入 您要寻找的字串, 您要寻找的字串,按Enter 就会开始查找 继续正向寻找 继续反向寻找 寻找光标所在处的word(要完全符合)。 寻找光标所在处的 (要完全符合)。
任务
通过底行模式的SET命令和选项配置文 命令和选项配置文 通过底行模式的 件分别改变VIM编辑器的选项配置 件分别改变 编辑器的选项配置 1. 查找是否设置了 查找是否设置了cindent选项,若有则删 选项, 选项 除,若没有则添加该选项 2. 查找是否设置了 查找是否设置了number选项,若有则删 选项, 选项 除,若没有则添加该选项 3. 查找是否设置了 查找是否设置了ruler选项,若有则删除, 选项, 选项 若有则删除, 若没有则添加该选项 •
底行模式下常用命令
设置VIM编辑器选项 编辑器选项 设置 操 作 说 明
:set autoindent :set cindent :set number :set nonumber :set ruler
缩进每一行 设置C 设置C语言缩进 在编辑文件时显示行号 取消行号显示 在屏幕底部显示光标所在的行、 在屏幕底部显示光标所在的行、 列位置
进入底行模式存档退出
• 如果您写好了文件,就可以按Esc 回到命 如果您写好了文件,就可以按Esc 令模式,然後:w 就会存档(注意, 令模式,然後:w 就会存档(注意,是冒 号命令),但此时不会退出vim ),但此时不会退出vim, 号命令),但此时不会退出vim,要退出 可按:q 就可以了!也可以用:wq :q, :wq, 可按:q,就可以了!也可以用:wq,就会 存档然后离开。 存档然后离开。
命令模式下的常用命令小节
G dd YY p u . 用于直接跳转到文件尾。 删除光标所在的整行。 将当前行的内容复制到缓冲区。 将缓冲区的内容写出到光标所在的位 置。 取消前一次的误操作。 再执行一次前面刚完成的某个命令。
底行模式下的常用命令小节
:s/str1/str2/g :!Cmd :r !Cmd :set autoindent :set noautoindent :set number :set nonumber :set ruler :set noruler 将所有的str1替换为str2 将所有的str1替换为str2 str1替换为 运行shell命令Cmd shell命令 运行shell命令Cmd 将命令运行的结果写入当前行 缩进每一行 取消缩进 在编辑文件时显示行号 取消行号显示 在屏幕底部显示光标所在的行、 在屏幕底部显示光标所在的行、 列位置 不显示光标所在的行、 不显示光标所在的行、列位置
本章重点内容
文本编辑器vim简介 文本编辑器vim的使用与设置
vim 简介
vim是全屏幕文本编辑器,它没有菜 是全屏幕文本编辑器, 是全屏幕文本编辑器 只有命令。 单,只有命令。
Vim基本模式 基本模式
命令模式
• 您一进入 您一进入vim 就是处于命令模式,该模式 就是处于命令模式, 下只能输入指令,不能输入文字。 下只能输入指令,不能输入文字。這些指 令可能是让光标移动的指令, 令可能是让光标移动的指令,也可能是删 除指令或取代指令。 除指令或取代指令。
命令模式下常用命令
进入插入模式
操 i a o 作 说 明
在光标所在字符前开始输入(insert)。 。 在光标所在字符前开始输入 在光标所在字符后开始输入(append)。 在光标所在字符后开始输入 。 在光标所在行下开一新行来输入(open)。 在光标所在行下开一新行来输入 。
命令模式下常用命令
插入模式
• 按i 就会进入插入模式,此时在状态 就会进入插入模式, 字樣。 列会有 INSERT 字樣。在该模式下 才可以输入文字, 才可以输入文字,按Esc 又会回到命 令模式。
底行模式
• 按冒号“:”就会进入底行模式,此 按冒号“ 就会进入底行模式, 时左下角会有一個冒号, 时左下角会有一個冒号,等待输入命 Esc返回命令模式 返回命令模式。 令。按Esc返回命令模式。
进入命令模式
• 方法一 ① #vim a.txt • 方法二 ① #vim ② 使用冒号命令:e a.txt,就可以以命令模式进 使用冒号命令 , 这个文档。 入a.txt 这个文档。 注意:如果 不存在的話, 注意:如果a.txt 不存在的話,就会新建一个 命名的新文件。 以a.txt 命名的新文件。