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

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

时间2025-09-18 16:35:25分类IT科技浏览5732
导读: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
react的生命周期函数(React生命周期和响应式原理(Fiber架构)) 好赚钱的网络游戏推荐(赚钱的网络游戏有哪些-最赚钱的网络游戏排行榜_十大最赚钱网络游戏)