Linux多少种方式在vim插入行号
- 格式:doc
- 大小:24.00 KB
- 文档页数:4
vim基础用法Vim是一款文本编辑器,具有强大的功能和灵活的配置选项。
以下是Vim的基础用法:1. 打开文件:在终端中输入`vim <文件路径>`命令,如果文件不存在,Vim将会创建一个新文件。
2. 退出:在命令模式下按下`:q`,然后回车键退出Vim。
如果有未保存的更改,可以使用`:q!`来强制退出(不保存更改)。
3. 保存文件:在命令模式下按下`:w`,然后回车键保存文件。
如果要保存文件并退出,可以使用`:wq`。
4. 插入文本:在命令模式下按下`i`,然后开始输入文本。
可以插入、删除和编辑文本。
5. 保存并退出:在命令模式下按下`ZZ`快捷键可以保存文件并退出Vim。
6. 移动光标:使用方向键或h(左)、j(下)、k(上)、l (右)来移动光标。
也可以使用`gg`跳转到文件开头,`G`跳转到文件末尾,以及数字+G跳转到特定行。
7. 删除文本:在命令模式下按下`x`来删除光标位置的字符。
可以使用`dd`删除整行文本。
可以使用数字+n+dd删除多行文本。
8. 复制和粘贴:在文本编辑模式下,先按下`y`键将光标停留的文本复制到寄存器中,然后按下`p`键将寄存器中的文本粘贴到光标后面。
9. 撤销和重做:在命令模式下按下`u`键可以撤销之前的更改。
使用`Ctrl+r`可以重做撤销的更改。
10. 搜索和替换:在命令模式下按下`/`后输入要搜索的文本并回车,Vim将会高亮显示匹配的文本。
你可以使用`n`键跳转到下一个匹配项。
使用`:%s/old/new/g`命令可以替换文件中的文本,其中old为要替换的文本,new为新的文本,g为全局替换。
11. 设定行号:在命令模式下输入`:set number`可以显示行号。
这只是Vim功能的一个简单介绍,Vim具有许多其他的高级功能和定制选项。
你可以查阅Vim的文档来了解更多信息。
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详解1.什么是vim? Vim 是⼀个⽂本编辑器。
代码补全、编译及错误跳转等⽅便编程的功能特别丰富,在程序员中被⼴泛使⽤。
vim 具有程序编辑的能⼒,可以主动的以字体颜⾊辨别语法的正确性,⽅便程序设计 vim 可以说是程序开发者的⼀项很好⽤的⼯具。
2.vim键盘图3.vim的使⽤命令模式(Command mode)⽤户刚刚启动 vim,便进⼊了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,⽽⾮输⼊字符。
⽐如我们此时按下a/i,并不会输⼊⼀个字符,i被当作了⼀个命令。
以下是常⽤的⼏个命令:a/i 切换到输⼊模式,以输⼊字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底⼀⾏输⼊命令。
若想要编辑⽂本:启动Vim,进⼊了命令模式,按下i/a,切换到输⼊模式。
命令模式只有⼀些最基本的命令,因此仍要依靠底线命令模式输⼊更多命令。
输⼊模式(Insert mode)在命令模式下按下i/a就进⼊了输⼊模式。
在输⼊模式中,可以使⽤以下按键:字符按键以及Shift组合,输⼊字符ENTER,回车键,换⾏BACK SPACE,退格键,删除光标前⼀个字符DEL,删除键,删除光标后⼀个字符⽅向键,在⽂本中移动光标HOME/END,移动光标到⾏⾸/⾏尾Page Up/Page Down,上/下翻页Insert,切换光标为输⼊/替换模式,光标将变成竖线/下划线ESC,退出输⼊模式,切换到命令模式底线命令模式(Last line mode)在命令模式下按下:(英⽂冒号)就进⼊了底线命令模式。
底线命令模式可以输⼊单个或多个字符的命令,可⽤的命令⾮常多。
在底线命令模式中,基本的命令有(已经省略了冒号):q 退出程序w 保存⽂件! 不保存⽂件按ESC键可随时退出底线命令模式。
4.vim使⽤实例存在的⽂件: vim/vi +filename进⼊⼀般模式直接输⼊ vim/vi ⽂件名就能够进⼊ vim 的⼀般模式了。
在Linux中,Vim是一个功能强大的文本编辑器,具有多种用法和操作方式。
以下是一些常用的Vim用法:
打开文件:在终端中输入“vim 文件名”即可打开一个Vim编辑器窗口,并加载指定的文件。
如果文件不存在,则会创建一个新文件。
进入插入模式:在命令模式下,按下字母“i”键即可进入插入模式,此时可以输入文本内容。
退出插入模式:在插入模式下,按下Esc键即可退出插入模式,返回到命令模式。
移动光标:在命令模式下,使用方向键或“h”、“j”、“k”、“l”命令来移动光标的位置。
删除文本:在命令模式下,使用“x”或“d”命令来删除一个字符或一行文本。
复制和粘贴文本:在命令模式下,使用“yy”命令来复制一行文本,使用“p”命令来粘贴文本到光标所在位置之后。
查找和替换文本:在命令模式下,使用“/”命令来查找一个字符串,使用“:%s/替换前的字符/替换后的字符/g”命令来替换文本中的内容。
保存文件:在命令模式下,输入“:w”命令来保存文件。
退出Vim:在命令模式下,输入“:q”命令来退出Vim编辑器。
如果文件未保存,则会提示是否保存文件。
虚拟机中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常⽤命令之⽂件编辑命令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 vi 编辑器使用说明vi 编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。
由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。
Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode。
2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
2、vi的基本操作a) 进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。
初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!b) 切换至插入模式(Insert mode)编辑文件在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
linuxvi编辑器详解Vim⽂本编辑器,是由 vi 发展演变过来的⽂本编辑器,因其具有使⽤简单、功能强⼤、是 Linux 众多发⾏版的默认⽂本编辑器Vim三种⼯作模式Vim的命令模式使⽤ Vim 编辑⽂件时,默认处于命令模式。
此模式下,可使⽤⽅向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对⽂件内容进⾏复制、粘贴、替换、删除等操作。
Vim的输⼊模式使 Vim 进⾏输⼊模式的⽅式是在命令模式状态下输⼊ i、I、a、A、o、O 等插⼊命令(各指令的具体功能如表 3 所⽰),当编辑⽂件完成后按 Esc 键即可返回命令模式。
Vim 的编辑模式编辑模式⽤于对⽂件中的指定内容执⾏保存、查找或替换等操作。
Vim基本操作打开⽂件vim 1.txt插⼊⽂本命令模式输⼊i 在当前光标所在位置插⼊随后输⼊的⽂本,光标后的⽂本相应向右移动I 在光标所在⾏的⾏⾸插⼊随后输⼊的⽂本,⾏⾸是该⾏的第⼀个⾮空⽩字符,相当于光标移动到⾏⾸执⾏ i 命令o 在光标所在⾏的下⾯插⼊新的⼀⾏。
光标停在空⾏⾸,等待输⼊⽂本O(⼤写)在光标所在⾏的上⾯插⼊新的⼀⾏。
光标停在空⾏的⾏⾸,等待输⼊⽂本a 在当前光标所在位置之后插⼊随后输⼊的⽂本A 在光标所在⾏的⾏尾插⼊随后输⼊的⽂本,相当于光标移动到⾏尾再执⾏ a 命令查找⽂本/abc 从光标所在位置向前查找字符串 abc/^abc 查找以 abc 为⾏⾸的⾏/abc$ 查找以 abc 为⾏尾的⾏abc 从光标所在为主向后查找字符串 abcn 向同⼀⽅向重复上次的查找指令N 向相反⽅向重复上次的查找指定替换⽂本r 替换光标所在位置的字符R 从光标所在位置开始替换字符,其输⼊内容会覆盖掉后⾯等长的⽂本内容,按“Esc”可以结束:s/a1/a2/g 将当前光标所在⾏中的所有 a1 ⽤ a2 替换:n1,n2s/a1/a2/g 将⽂件中 n1 到 n2 ⾏中所有 a1 都⽤ a2 替换:g/a1/a2/g 将⽂件中所有的 a1 都⽤ a2 替换要将某⽂件中所有的 "root" 替换为 "huyongjian":1, $s/root/huyongjian/g:%s/root/huyongjian/g删除⽂本x 删除光标所在位置的字符dd 删除光标所在⾏ndd 删除当前⾏(包括此⾏)后 n ⾏⽂本dG 删除光标所在⾏⼀直到⽂件末尾的所有内容D 删除光标位置到⾏尾的内容:a1,a2d 函数从 a1 ⾏到 a2 ⾏的⽂本内容复制和粘贴⽂本p 将剪贴板中的内容粘贴到光标后P(⼤写)将剪贴板中的内容粘贴到光标前y 复制已选中的⽂本到剪贴板yy 将光标所在⾏复制到剪贴板,此命令前可以加数字 n,可复制多⾏yw 将光标位置的单词复制到剪贴板保存退出⽂本:wq 保存并退出 Vim 编辑器:wq! 保存并强制退出 Vim 编辑器:q 不保存就退出 Vim 编辑器:q! 不保存,且强制退出 Vim 编辑器:w 保存但是不退出 Vim 编辑器:w! 强制保存⽂本:w filename 另存到 filename ⽂件x!保存⽂本,并退出 Vim 编辑器,更通⽤的⼀个 vim 命令ZZ 直接退出 Vim 编辑器移动光标快捷键⽅向键h 光标向左移动⼀位j 光标向下移动⼀⾏(以回车为换⾏符),也就是光标向下移动k 光标向上移动⼀⾏(也就是向上移动)l 光标向右移动⼀位光标以单词为单位移动w 或 W 光标移动⾄下⼀个单词的单词⾸b 或 B 光标移动⾄上⼀个单词的单词⾸e 或 E 光标移动⾄下⼀个单词的单词尾nw 或 nW n 为数字,表⽰光标向右移动 n 个单词nb 或 nB n 为数字,表⽰光标向左移动 n 个单词光标移动⾄⾏⾸或⾏尾0 或 ^ 光标移动⾄当前⾏的⾏⾸$ 光标移动⾄当前⾏的⾏尾n$ 光标移动⾄当前⾏只有 n ⾏的⾏尾,n为数字光标移动到指定⾏gg 光标移动到⽂件开头G 光标移动⾄⽂件末尾nG 光标移动到第 n ⾏,n 为数字:n 编辑模式下使⽤的快捷键,可以将光标快速定义到指定⾏的⾏⾸撤销和恢复撤销u(⼩写) undo 的第 1 个字母,功能是撤销最近⼀次对⽂本做的修改操作。
vim基本用法Vim基本用法Vim是一款强大的文本编辑器,它可以在Linux、Unix、Mac OS X等多种操作系统中使用。
它的灵活性和高效性使得它成为程序员和系统管理员的首选工具。
在本文中,我们将介绍Vim的基本用法。
一、命令模式当你打开Vim时,你将进入命令模式。
在这个模式下,你可以使用各种命令来编辑文本。
以下是一些常用的命令:1.移动光标h:向左移动一个字符j:向下移动一行k:向上移动一行l:向右移动一个字符2.删除文本x:删除光标所在位置的字符dd:删除整行文本3.复制和粘贴文本yy:复制整行文本p:粘贴复制的文本4.撤销和恢复u:撤销上一步操作Ctrl + r:恢复上一步操作二、插入模式在命令模式下,你可以使用i、a、o等命令进入插入模式,以便输入文本。
以下是一些常用的命令:1.插入文本i:在光标所在位置插入文本a:在光标所在位置的下一个字符插入文本o:在光标所在位置的下一行插入文本2.退出插入模式Esc:退出插入模式三、可视模式在命令模式下,你可以使用v、V、Ctrl + v等命令进入可视模式,以便选择文本。
以下是一些常用的命令:1.选择文本v:选择字符V:选择整行Ctrl + v:选择矩形区域2.复制和删除文本y:复制所选文本d:删除所选文本四、末行模式在命令模式下,你可以使用:命令进入末行模式,以便执行一些高级操作。
以下是一些常用的命令:1.保存文件:w:保存当前文件2.退出Vim:q:退出Vim:q!:强制退出Vim3.保存并退出Vim:wq:保存当前文件并退出Vim以上是Vim的基本用法,你可以通过阅读Vim的帮助文档来了解更多高级用法。
使用Vim需要一定的学习成本,但一旦掌握了它,你将获得无与伦比的编辑体验。
Linux多少种方式在vim插入行号
1 在文本中插入行号
最近有朋友提到某编辑器有一个可以插入行号的插件,问Vim有没有办法可以在文章中插
入行号。%$^&*#8~#$@#!……让我们看一下有多少种方式可以在vim中插入行号或数字序
列!
建议看一下Vim官网的这篇文章。里面一部分内容与这篇是重叠的。不过这篇是中文的XD。
我们的目的是在当前编辑文中的每一行前面加上行号或数字序列并用空格分隔,如:
这是第一行
这是第二行
这是第四行
在插入行号后将成为:
1 这是第一行
2 这是第二行
3
4 这是第四行
但有时我们需要对部分行编号。下面的例子是对第二行以后的所有非空行依次编号:
这是第一行
1 这是第二行
2 这是第四行
为了区别行号,我这里就称之为数字序列。
进入正题。
1.1 使用line()函数
相信这是大多数人第一个想到的解法了——使用line()函数产生行号用:s命令插入行号。
" 为所有行加上行号
" 使用合适的范围或者正则表达式就可以限定作用的范围。
:g/^/ s//\=line('.').' '/
优点是简单易用。缺点是不够灵活,只能用以显示指定行的行号。
1.2 使用ex命令
vim提供了一些可以打印行号的ex命令,如,”=”, “p #” 和”#“。为了捕捉Vim的命令输出,
我们用redir命令。
" 为前30行加上行号
:redir @a | 1,30# | redir END
:1,30d | put! a
逻辑上很容易理解:1,30#显示前30行及其行号。保存到寄存器a中,删掉前30行,再贴上
寄存器的内容。
没什么明显优点的一种方法。缺点同上。如果不是更改当前编辑区的内容而是直接保存到新
文件的话,这种方法就比其他的方法方便。
1.3 使用range()函数
range()是个新的函数,用来产生包含数字序列的列表。当然也可以用来生成行号:
" 为前30行加上行号
:for i in range(31)
:call setline(i,i .' '. getline(i))
:endfor
对range(),setline()的用法见帮助文档。
range()函数相对前面的2个解法而言要灵活许多,除可用以表示行号,也可以用来编数字序
列,相应地也要求一些编程基础。
1.4 加法运算
这是也是简单灵活的一种解法。好吧,也许大家第一个想到的解法不是使用line()函数。
" 为所有行加上行号
:let i=1
:g/^/ s//\=i . ' '/ |let i=i+1
注意:g后面的两条命令(:s, :let)一定要写在一起。这是比较通用的一种编号方式,可以应付
大部分的编号问题。
1.5 使用
Vim提供了Ctrl-A和Ctrl-X来分别对光标下(或者光标右边第一个)数字进行增、减操作。
按Ctrl-A一次可加一,按Ctrl-X则是减一。如果你用的是Windows,那很有可能Ctrl-A已
被映射成全选了。输入
:nunmap
使之恢复功能,当然你可以用:nnoremap重新映射到其他键。赶紧翻出文档吧:
:h CTRL-A
:h CTRL-X
:h unmap
:h o_v
先看一下,普通模式下的操作步骤:
第一、手工添加第一行序号和空格。
第二、输入0”ayw将序号放到寄存器a。
第三、移到下一行并输入:
qq0”aP0^A”ayawjq
上面的命令将指令序列存进寄存器q。^A表示按Ctrl-A组合键。
第四、28@q对接下来的28行添加行号。
上面添加空格是很重要的步骤(因为我们使用了yaw复制数字和空格),这里解释一下第三
步:
`qq„
开始录制宏,并保存到寄存器q中
`0„
设定光标的位置到行首
`"aP„
放上前面保存的序号和空格
`0^A„
回到行首并按Ctrl-A加一
`"ayaw„
复制当前数字和空格到寄存器A
`jq„
移到下一行(这样我们才能确保28@q是对下面的28行进行操作而不是对当前行操作28次),
然后结束宏。
通过与:g指令配合可以对指定行编号。下面的例子对所有以字母开头的行进行编号。为了
说明方便我们直接对寄存器赋值,效果与上面普通模式下的操作是一样的。注意下面两例操
作中的^A的输入方法与上面直接按组合键的方法有所不同,先按Ctrl-V(不行的话试
Ctrl-Q),再按Ctrl-A:
" 先重置a寄存器。
" 再对所有以字母开头的行编号
:let @a='0 '
" 去掉了j指令
:let @q='0"aP0^A"ayaw'
:g/^\a/ norm @q
如果你用的分隔符不是空格,可以对它进行手工标记:
" 这个例子使用冒号作为分隔符
:let @a=0
:let @q='0"aPa:^[0^Amm"ayv`m'
:g/^\a/ norm @q
宏指令是Vi最有力的工具之一,在Vim中宏则比以往更强大。宏并非完成此工作最有效率
的解法,但写宏的乐趣要比其他的脚本来得多得多。这个解法经过修改一样可以适用多种情
况,缺点是在写出一个可行的宏之前要经过多次地调试。
公司简介:
合肥清默网络技术有限公司(以下简称清默网络)坐落于安徽省合肥市,公司主要从事于高端IT培训和
IT系统集成。清默自成立以来一直都力求打造中国高端IT培训的第一品牌,专注于培养CISCO网络高端人
才。公司是Cisco公司安徽区域的认证和培训授权中心,是一家拥有独立的VUE考场,并且致力于cisco
职业认证培训的网络技术有限公司!公司内部有优秀的全IE技术团队,能够提供学员实际操作和实践动手
能力的4套CCIE机架(产品设备涉及voice、security、wireless、R&S)以及华东地区最大的cisco书架!
我们希望能够给所有想学习和正在学习网络的人提供一个开放的、积极的、优质的学习平台。公司下设了
IT系统集成部门,有强大优秀的工程师团队,其中也不乏有获得过cisco双CCIE认证具有300多个工程经
验的老工程师。自立于为企业提供最合适的IT解决方案和技术支持!
公司网址:
http://www.qmcisco.com/
http://www.qmcisco.com/news/renzhe.html
http://www.qmcisco.com/news/peixun.html
http://www.qmcisco.com/news/news.html
http://www.qmcisco.com/news/ccna.html
http://www.qmcisco.com/news/ccie.html
http://www.qmcisco.com/news/jishu.html
http://www.qingm.net/
http://www.qingm.net/Speciality.aspx
http://www.qingm.net/Study.aspx
http://www.qingm.net/News.aspx
清默网络官方YY教育频道:45436208