首页IT科技vi命令模式怎么执行命令(vi常用操作)

vi命令模式怎么执行命令(vi常用操作)

时间2025-08-04 21:23:20分类IT科技浏览4789
导读:vi常用操作 回复...

vi常用操作

回复

现在是70%的时间用Windows               ,还有不少时间必须和vi打交道                       ,不记录一下常用的vi操作实在是伤不起        ,记不清               。

vi的两种模式切换:

按Esc进入命令模式               ,可以在命令模式下进行保存                       ,退出        ,查找       ,替换                       ,复制               ,粘贴       ,删除行                       ,恢复(undo)               ,打开新文件,显示行号等操作 按i或者a进入编辑模式                       ,可以输入字符                       ,可以用delete与backspace删除字符(i表示insert,a表示add/append)

在vi的配置文件~/.vimrc里加上syntax on(echo "syntax on" >> ~/.vmirc)就可以支持文件的语法高亮显示               ,一般缺省都至少有shell                       ,php        ,python               ,c等语言的语法高亮支持                       。如果这个不起作用                       ,可能还要再加上一行syntax enable        。

不过有时候你需要手工添加语法高亮文件        ,例如我就需要添加markdown的语法高亮       ,操作是这样的:

修改/usr/share/vim/vim#/filetype.vim文件(其中#表示你的vim版本号                       ,如73)               ,找到对应的行       ,为文件添加上后缀与文件类型的对应                       ,例如我给markdown添加的关联规则在maple与map类型后面               ,代码如下: " Markdown au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.md setf markdown 将这个markdown的语法高亮文件下载回来,复制到/usr/share/vim/vim#/syntax目录下即可 如果某些文件是markdown文件                       ,但是后缀比较少见                       ,可以在vim的命令模式下:set filetype=markdown让vim以markdown的语法高亮模板来处理它

下面是命令模式下的操作键组合:

$:光标移到当前行的末尾 ^:光标移到当前行的开头 *:在文件中查找光标当前所在的词 %:查找对应的另一半括号 x:删除一个字符 dd:删除当前行 dw:删除一个单词 dnd:从当前行开始删除n行 u:恢复上一次的修改操作,即Undo :w:保存 :q:关闭当前文件               ,如果只有一个文件则退出               。 :q!:放弃所有的修改                       ,关闭当前文件 :set nu:显示行号        ,也可以写全               ,即:set number :set nonu:不显示行号 :n:跳转到第n行 /word:在文件中查找word这个字符串                       ,这里word也可以是正则表达式 n:在文件中继续查找字符串 :tabnew filename:在新的Tab里面打开filename文件 :tabn:切换到下一个Tab :tabp:切换到上一个Tab

复制粘贴的操作是这样的        ,首先进入命令模式       ,然后在待复制文本开始的地方按v                       ,接着移动到待复制文本结尾的地方按y               ,最后到需要粘贴文本的地方按p即可                       。

如果在上面第二步的时候不按y       ,而是按x的话                       ,那就是剪切               ,而不是复制了        。

vi的替换操作在命令模式下执行,操作是输入:ranges/search/replace/g       。其中:

range表示范围                       ,%表示当前文件的所有行                       ,.表示当前行,$表示最后一行                       。例如10,20表示从第10行到第20行               ,.,$表示从当前行到最后一行 s表示替换 search是需要被替换的字符串的正则表达式 replace表示新的字符串或者新的字符串正则表达式 g可有可无                       ,如果有的话就表示替换此范围内的所有search匹配的字符串        ,不然仅替换第一个字符串

像块折叠之类的功能现在对我来说有点太高级了               ,也记不住那么多                       ,等这些命令都倒背如流了再说               。

声明:本站所有文章        ,如无特殊说明或标注       ,均为本站原创发布       。任何个人或组织                       ,在未征得本站同意时               ,禁止复制               、盗用                       、采集        、发布本站内容到任何网站               、书籍等各类媒体平台                       。如若本站内容侵犯了原著者的合法权益       ,可联系我们进行处理               。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
ai自动画图(AI生成图像竟如此真实了?Stable Diffusion Model本地部署教程) windows7搜不到wifi信号(Windows 7搜索到无线信号连不上,怎么办?)