linuxVIM指令
Linux终端中的常用文本编辑器

Linux终端中的常用文本编辑器在Linux终端中,存在一些常用的文本编辑器,它们提供了强大的功能,方便用户对文本进行修改和编辑。
本文将为大家介绍其中的几个常见的文本编辑器,并探讨它们的特点和用法。
1. VimVim是一款非常受欢迎的文本编辑器,它提供了强大的功能和高度的定制性。
使用Vim进行编辑时,用户可以通过按键操作来实现各种功能,如插入、删除、替换等。
Vim还支持多种编辑模式,包括命令模式、插入模式和可视模式,每种编辑模式都有不同的功能和快捷键。
Vim可以通过命令行启动,或者直接在终端中输入“vim”命令进入编辑器。
2. NanoNano是一款简洁易用的文本编辑器,适合于初学者或需要进行快速编辑的用户。
在使用Nano时,用户只需简单地输入指令即可进行文本编辑。
Nano提供了一些基本的编辑功能,如复制、粘贴、查找、替换等。
与Vim相比,Nano的学习曲线更低,用户可以更快地上手使用。
在终端中输入“nano”命令即可启动Nano。
3. EmacsEmacs是一款功能强大的文本编辑器,它提供了丰富的功能和高度的可定制性。
Emacs支持多种编程语言、宏以及插件扩展,用户可以根据自己的需求进行配置和定制。
Emacs还提供了多种编辑模式,如文本模式、源代码模式等,每种模式都有相应的快捷键和功能。
要启动Emacs,只需在终端中输入“emacs”命令即可。
4. GeditGedit是一款简单易用的文本编辑器,它提供了基本的编辑功能,并支持多种文件类型和编程语言。
Gedit的界面简洁明了,易于上手。
用户可以通过菜单栏、工具栏或快捷键进行各种编辑操作。
Gedit还提供了代码高亮、自动缩进、自动补全等功能,方便用户编写代码和进行文本编辑。
在终端中输入“gedit”命令即可启动Gedit。
5. Sublime TextSublime Text是一款强大且流行的文本编辑器,它具有丰富的功能和高度的灵活性。
Sublime Text支持多种操作系统,并提供了多种插件和主题用于扩展和美化。
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编辑器和恢复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-vi 替换命令

linux:vi 替换命令vi/vim 中可以用法 :s 来替换字符串。
以前只会用法一种格式来全文替换,今日发觉该指令有无数种写法(vi 真是强大啊,还有无数需要学习),记录几种在此,便利以后查询。
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行全部 vivian 为sky :n,$s/vivian/sky/ 替换第 n 行开头到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开头到最后一行中每一行全部 vivian 为 sky n 为数字,若 n 为 .,表示从当前行开头到最后一行 :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中全部 vivian 为 sky 可以用法作为分隔符,此时中间浮现的 / 不会作为分隔符 :svivian/sky/ 替换当前行第一个 vivian/ 为sky/ :%s+/oradata/apras/+/user01/apras1+ (用法+ 来替换 / ):/oradata/apras/替换成/user01/apras1/ ************************************* 1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行全部vivian 为 sky 2. :n,$s/vivian/sky/ 替换第 n 行开头到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开头到最后一行中每一行全部 vivian 为 sky (n 为数字,若 n 为 .,表示从当前行开头到最后一行) 3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为sky :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中全部 vivian 为 sky 4. 可以用法作为分隔符,此时中间浮现的 / 不会作为分隔符 :svivian/sky/ 替换当前行第一个 vivian/ 为sky/ 5. 删除文本中的^M 问题描述:对于换行,window下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。
ViVim基本用法

ViVim基本⽤法Vi/Vim是Linux中⼀款功能强⼤的编辑器,vi是Visual Interface的缩写,即可视化接⼝,vim是vi iMprove的缩写,即 vi的增强版(具有语法着⾊功能)。
它在Linux上的地位就仿佛Edit程序在DOS上⼀样。
它可以执⾏输出、删除、查找、替换、块操作等众多⽂本操作,⽽且⽤户可以根据⾃⼰的需要对其进⾏定制。
Vi不是⼀个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进⾏编排,它只是⼀个⽂本编辑程序。
vi没有菜单,只有命令,且命令繁多。
1.Vim配置⽂件全局vim配置⽂件:/etc/vimrc个⼈vim配置⽂件:~/.vimrc当我们需要设置Vim的部分功能时,我们可以通过修改配置⽂件来实现!例如:永久添加⾏号--------->在配置⽂件中加上set nu2.Vim三级模式及相互切换 三种模式 命令模式(默认):刚进⼊vim的时候,默认就是命令模式,可以复制⾏,删除⾏等。
输⼊模式:可以输⼊内容。
末⾏模式:在最下边,除编辑模式,可以输⼊诸多管理员命令命令⾏模式 任何时候,不管⽤户处于何种模式,只要按⼀下ESC键,即可使Vi进⼊命令模式;我们在shell环境(提⽰符为$)下输⼊启动Vi命令,进⼊编辑器时,也是处于该模式下。
在该模式下,⽤户可以输⼊各种合法的Vi命令,⽤于管理⾃⼰的⽂档。
此时从键盘上输⼊的任何字符都被当做编辑命令来解释,若输⼊的字符是合法的Vi命令,则Vi在接受⽤户命令之后完成相应的动作。
但需注意的是,所输⼊的命令并不在屏幕上显⽰出来。
若输⼊的字符不是Vi的合法命令,Vi会响铃报警。
⽂本输⼊模式 在命令模式下输⼊插⼊命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进⼊⽂本输⼊模式。
在该模式下,⽤户输⼊的任何字符都被Vi当做⽂件内容保存起来,并将其显⽰在屏幕上。
在⽂本输⼊过程中,若想回到命令模式下,按键ESC即可。
linux vi 替换命令

linux:vi 替换命令vi/vim 中可以使用 :s 命令来替换字符串。
以前只会使用一种格式来全文替换,今天发现该命令有很多种写法,记录几种在此,方便以后查询。
1.全局替换(1) v + G + $ 选定全部,然后输入 :s/原始字符串/目标字符串/(2) :%s/原始字符串/目标字符串/2.清除页面中所有行尾的空白符::%s/\s\+$//3.清除所有空白:%s/\(\s*\n\)\+/\r/4.去掉所有的//注释:%s!\s*//.*!!5.去掉所有的/* */注释:%s!\s*/\*\_.\{-}\*/\s*! !6.做某些内部数据重复替换有些时候我们需要组织一些批量的数据进行命令行的执行,比如我们需要利用前面的数据生成后面的数据,例如这样的数据:/var/database/aaa.txt/var/database/bbb.txt/var/database/ccc.txt我想变成一个个的指令,比如变成一个个复制命令,复制到但前目录,那么可以执行::%s/\(.*base\/\)\(.*\.txt\)/cp \1\2 \.\/\2/变成了:cp /var/database/aaa.txt ./aaa.txtcp /var/database/bbb.txt ./bbb.txtcp /var/database/ccc.txt ./ccc.txt这里关键是子模式的使用: () 中间的,\1 代表第一个找到的子模式,\2代表第二个,以此类推,vim里面的()必须转义,跟其他语言不一样7.增加注释(一个操作应用在多行)比如需要增加#或者是//这种注释:Ctrl + v 定位到开始行,然后选定需要的行,然后执行 I 命令,然后输入 # 或 //,然后按 Esc键两次,即可把注释操作应用到所有选定的行,记住选定不能使用v指令,而应该使用Ctrl + v (清除注释请参考上面的方法)(v是按行选定,Ctrl + v 是按照列选定) 8.对齐行v 选定需要整齐的行,输入 = 进行归整9.打开多窗口在vim中使用 :sp 文件名打开行窗口(横),使用 :vsp 文件名打开列窗口(竖),使用 :q 关闭当前窗口,使用 :qa 关闭所有窗口,使用 Ctrl + w 在各个窗口中进行切换。
虚拟机中linux系统常用命令解释及vim3种命令模式详解

虚拟机中linux系统常⽤命令解释及vim3种命令模式详解1.manman 加上⼀个命令可以打开此命令具体使⽤⽅法,⽅便我们更好的了解新命令的使⽤(下图为我输⼊命令“man ls”虚拟机界⾯)2.cd 切换⽬录cd ..(返回上⼀级⽬录) cd ~(返回家⽬录) cd /home/sdy(切换到home⽬录下sdy⽬录)3.ls 显⽰⽂件或⽬录-l 列出⽂件详细信息l(list)-a 列出当前⽬录下所有⽂件及⽬录,包括隐藏的a(all)-R 递归显⽰当前⽬录及其⼦⽬录下的⽂件和⽬录ls /home 显⽰home⽬录下内容4.mkdir 创建⽬录5.touch 创建空⽂件6.echo 1.把内容添加到⽂件 2.在终端显⽰内容 echo *** >***(下图vim命令为打开⽂件)7.cp cp 复制⽂件或⽬录⽬标⽂件是⽬录,会将源⽂件复制到⽬录中⽬标⽂件是⼀个⽂件,会将源⽂件覆盖该⽂件⽬标不存在,会将源⽂件重命名修改为⽬标⽂件8.mv move的缩写,可以⽤来移动⽂件或者将⽂件改名(move (rename) files) mv [选项] 源⽂件或⽬录⽬标⽂件或⽬录⽂件改名9.rm 删除⽂件-r 递归删除,可删除⼦⽬录及⽂件 -f 强制删除10.pwd 显⽰当前⽬录11.cat 查看纯⽂本⽂件(较短的)cat [选项] [⽂件]..12.more 查看纯⽂本⽂件(较长的)(less直接打开⽂件查看)13.head 查看纯⽂本⽂档的前N⾏14.tail 查看纯⽂本⽂档后N⾏15. whoami 显⽰当前操作⽤户16.hostname 显⽰主机名17.clear 清屏eradd ⽤户名创建新⽤户erdel ⽤户名删除⽤户账户20.su 切换⽤户21.passwd root 给root设置密码22.df 查看磁盘的分区,磁盘已使⽤的空间,剩余的空间23.chomd 给改⽤户或⽂件的权限下图为给⽂件“33.txt”增加权限(r 读权限 4 w写权限 2 x 执⾏权限 1 777代表赋予所有权限)vim3种命令详解vim三种模式:命令模式(Command mode),输⼊模式(Insert mode)和末⾏模式(Last line mode)输⼊vi *****进⼊命令模式命令模式:i 切换到输⼊模式,以输⼊字符x 删除当前光标所在处的字符h(左移⼀个字符←)、j(下⼀⾏↓)、k(上⼀⾏↑)、l(右移⼀个字符→): 切换到底线命令模式,以在最底⼀⾏输⼊命令(进⼊末⾏模式)a 在当前光标位置之后插⼊内容A 在光标所在⾏的末尾(⾏尾)插⼊内容输⼊模式:在命令模式下按下i就进⼊了输⼊模式。
详解Linux中退出编辑模式的命令

详解Linux中退出编辑模式的命令
vim 有三种模式,注意:这三种模式有很多不同的叫法,我这⾥是按照鸟哥的linux书中的叫法。
⼀般指令模式、编辑模式、指令列命令模式
1.vim ⽂件名进⼊⼀般模式;
2.按 i 进⾏编辑进⼊编辑模式;(或者I, o, O, a, A, r, R)
3.编辑结束,按ESC 键跳到⼀般模式模式;
4.按:进⼊指令列命令模式;
进⼊指令列模式后的明林如下
1.保存不退出:
:w 保存⽂件但不退出vi 编辑
:w! 强制保存,不退出vi 编辑
:w file 将修改另存到file中,不退出vi 编辑
2.保存并退出:
:wq 保存⽂件并退出vi 编辑
:wq! 强制保存⽂件并退出vi 编辑
3.不保存并退出:
:q 不保存⽂件并退出vi 编辑
:q! 不保存⽂件并强制退出vi 编辑
:e! 放弃所有修改,从上次保存⽂件开始在编辑
总结
以上所述是⼩编给⼤家介绍的Linux中退出编辑模式的命令,希望对⼤家有所帮助,如果⼤家有任何疑问欢迎给我留⾔,⼩编会及时回复⼤家的!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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行内容。
表示删除光标所在行的整行内容并且将下面的内容上移到光标位置(dd其实剪切操作只是效果等同于删除)。
用法4:5dd
表示删除包含光标所在行向下的5行内容并且将下面的内容上移到光标位置(dd其实剪切操作只是效果等同于删除)。
用法5:D
表示删除光标所在行的整行内容并且当前行会变成空白行。
用法6:p
表示粘贴复制的内容到光标所在位置。
用法7:u
表示撤销上次的操作,ctrl+r表示取消之前的撤销操作。
、
用法8:ctrl+v
表示自定义可视化选择内容块,需要使用上下左右键来选中内容,选中内容块后可以使用yy和dd进行相关的操作。
2.编辑模式[编辑模式可以对文件的内容进行编辑操作,在命令模式下按任意键进入编辑模式,但大多数人按i进入编辑模式,按esc退出编辑模式并进入命令模式]用法1:i
表示进入编辑模式并且在光标所在字符的前面开始编辑内容,小写的i,比较常用。
用法2:a
表示进入编辑模式并且在光标所在字符的后面开始编辑内容,小写的a,比较常用。
用法3:o
表示进入编辑模式并且在光标所在行的下面插入新的一行开始编辑内容,小写的o,不常用。
用法4:I
表示进入编辑模式并且在光标所在行的行首开始编辑内容,大写的i,不常用。
用法5:A
表示进入编辑模式并且在光标所在行的行尾开始编辑内容,大写的A,不常用。
用法6:O
表示进入编辑模式并且在光标所在行的上面插入新的一行开始编辑内容,大写O,不常用。
用法7:S
表示进入编辑模式并且删除光标所在行内容后开始编辑内容,大写S,不常用。
3.末行模式[末行模式可以执行特定的命令操作如:搜索、替换、保存、退出、高亮等操作,在命令模式下按:或/进入末行模式,在:或/后面可以输入特定的命令对文件进行操作。
按esc退出末行模式并进入命令模式]
进入末行模式方式:按下:冒号进入末行模式。
退出末行模式三种方式:
1、按一次esc表示延迟退出末行模式并进入命令模式。
2、连按两次esc表示快速退出末行模式并进入命令模
式。
3、删除:后的命令后在按一次删除键表示退出末行模式
并进入命令模式。
末行模式操作命令":"
保存与退出文件:
用法1:w
表示保存编辑的文件内容。
用法2:w /tmp/a.txt
表示将当前文件内容另存为到tmp目录下并命名为
a.txt文件。
用法3:q
表示退出文件,需要先使用w命令保存后才能退出文件或者文件未被修改时直接退出文件。
用法4:wq
表示保存文件修改的内容并退出文件。
用法5:q!
表示强制退出文件并且不保存对文件内容的修改操作。
用法6:w!
表示强制保存对文件内容的修改。
用法7:wq!
表示强制保存文件内容并退出文件。
用法8:x
表示文件未修改时则直接退出,文件被修改后则保存并退出,小写x。
替换文件内容:
用法1:s/yy/uu
表示替换光标所在行的第一个yy关键子字为uu。
例子:sed -i 's/原字符串/新字符串/g' package.sh
用法2:s/yy/uu/g
表示替换光标所在行里的所有yy关键字为uu。
用法3:%s/yy/uu
表示替换整个文件的所有行的第一个yy关键字为uu。
用法4:%s/yy/uu/g
表示替换整个文件里的所有yy关键字为uu。
其他命令:
用法1:!ls -l
表示暂时隐藏vim打开的内容并执行外部的ls命令。
用法2:nohl
表示取消文件内容里的高亮关键词设置。
用法3:set nu
表示显示文件内容的行号。
set nonu表示取消行号。
用法4:files
表示使用vim打开多个文件时查看文件名称,其中%a 表示当前活动的文件,#表示上一次打开的文件。
用法5:open a.txt
表示切换到a.txt文件,通常使用vim打开多个文件时切换需要编辑的文件时使用。
用法6:bn
表示切换到下一个打开的文件,bp表示切换到上一个打开的文件。
vim打开多个文件时使用。
末行模式操作命令"/"
用法:/hello
表示搜索vim打开的文件里面的所有hello关键字并且高亮搜索到的结果,按小写n向下查找搜索结果,按大写N表示向上查找搜索到的结果。
vim配置文件:个人配置与全局配置冲突时以个人配置为准。
1.用户个人配置文件[用户家目录下/.vimrc,编辑或自行新建]
用法1:在/home/huzibbs/.vimrc文件中写入:set nu
表示设置huzibbs用户每次打开vim编辑器时显示行号。
用法2:在/home/huzibbs/.vimrc文件中写入:syntax off
表示设置huzibbs用户每次打开vim编辑器时不启用代码着色功能。
2.全局配置文件[/etc/vimrc]
用法1:编辑/etc/vimrc文件写入:set nu
表示设置所有用户每次打开vim编辑器时显示行号。
用法2:在/etc/vimrc文件中写入:syntax off 表示设置当前用户每次打开vim编辑器时不启用代码着色功能。
二、实用小功能
1.vim代码着色[给代码标记颜色功能,需要在末行模式:下执行]
用法1:syntax on
表示开启vim的代码着色功能,默认开启。
用法2:syntax off
表示关闭vim的代码着色功能。
2.vim计算器[在编辑文件时计算公式时使用,需要在编辑模式下使用]
用法:按ctrl+r键,输入=号,在等号后面输入需要计算的公式回车得出的结果输出到光标所在处。
3.命令别名机制[用户家目录/.bashrc]
用法:编辑/home/huzibbs/.bashrc 写入内容:alias cls='clear'表示设置huzibbs用户环境下的clear 清屏命令别名为cls,重新登录后生效。