Vim,作为Linux下的一款高效编辑器,通过快捷键进行文件内容的编辑。它支持多种模式,包括:
- 正常模式:在此模式下,可以使用快捷键命令,或按:输入命令行。
- 插入模式:在正常模式下,按i/I、a/A、o/O可以进入插入模式,此时可以输入文本。
- 可视模式:正常模式下按v进入,移动光标可选择文本;按V进入可视行模式,可选择整行内容;按ctrl+v进入可视块模式,可进行文本内容的批量修改。
- 替换模式:正常模式下,按R进入。
2. 使用Vim打开文件
在命令行下输入vim file
即可使用Vim命令打开该文件,并进行编辑。若需要打开文件并直接定位到第n行,可使用vim +n file
命令。
3. Vim中的基本快捷操作
以下快捷操作均需在正常模式下进行:
-
光标的移动:
- h或退格或左箭头: 光标向左移动一个字符。
- l(小写的L)或空格或右箭头: 光标向右移动一个字符。
- j或下箭头: 光标向下移动。
- k或上箭头: 光标向上移动。
- w: 光标向右移动一个单词,移动到行末尾后,再按w光标会移动到下一行行首。
- W: 移动下一个单词开头,如果一行只有一个单词,那么按W会移动到下一行的开头。
- e: 光标向右移动一个单词,光标停在下一个单词末尾。
- E: 光标向右移动到下一个单词末尾,如果词尾有标点,则移动到标点。
- b: 光标向左移动一个单词,停在上一个单词开头。
- B: 光标向左移动到上一个单词开头,忽略一些标点。
- fc: 把光标移到同一行的下一个c字符处,只能移动一次。
- Fc: 把光标移到同一行的上一个c字符处。
- 0: 移动到当前行行首。
- $: 移动到当前行行尾。
- nG: 移动到文件第n行。
- :n回车:移动到第n行。
- :$回车:移动到最后一行。
- gg: 移动到文件头部。
- G: 移动到文件尾部。
-
翻页:
- ctrl+f: 向下翻一页。
- ctrl+b: 向上翻一页。
-
插入文本:
- i: 在光标前插入。
- I(大写i): 在当前行第一个非空字符前插入。
- a: 在光标后插入。
- A: 在当前行最后插入。
- o: 在当前行下面新建一行插入。
- O: 在当前行上面新建一行插入。
- :r filename在当前行下方插入另一个文件的内容。
- :r !command在光标处插入command命令的输出,比如 :r !ls -al。
-
改写文本:
- r:直接改写当前光标内容。
- R:进入改写模式,只要没有退出,就会一直改写内容。
-
复制、粘贴、剪切:
- y: 复制在可视模式下选中的文本,需要先按v进入可视模式,然后选中文本后按y进行复制。
- yy or Y: 复制整行文本。
- y$: 从光标当前位置复制到行尾。
- y0: 从光标当前位置复制到行首。
- :m,ny回车 复制m行到n行的内容。
- ygg: 复制光标以上的所有行。
- yG: 复制光标以下的所有行。
- p: 在光标之后粘贴。
- P: 在光标之前粘贴。
- d: 删除(剪切)在可视模式下选中的文本,与y一样,也需要先进入可视模式。
- d$ or D: 删除(剪切)当前位置到行尾的内容。
- d0: 删除(剪切)当前位置到行首的内容。
- dd:删除(剪切)当前行。
- [n] dd: 删除(剪切)1(n)行。
- :m,nd
剪切m行到n行的内容。 - dgg: 剪切光标以上的所有行。
- dG: 剪切光标以下的所有行。
-
查找与替换:
- /content: 在后面的文本中查找content。
- ?content: 在前面的文本中查找content。
- n: 向后查找下一个。
- N: 向前查找下一个。
- :s/old/new 用new替换当前行第一个old。
- :s/old/new/g 用new替换当前行所有的old。
- :n1,n2s/old/new/g 用new替换文件n1行到n2行所有的old。
- :%s/old/new/g 用new替换文件中所有的old。
- :%s/^/xxx/g 在每一行的行首插入xxx,^表示行首。
- :%s/$/xxx/g 在每一行的行尾插入xxx,$表示行尾。
- :%s/\n/ /g 将行尾的换行符变成空格。
-
分屏编辑:
- vim -o file1 file2: 水平分割窗口,同时打开file1和file2。
- vim -O file1 file2: 垂直分割窗口,同时打开file1和file2。
- :sp -- 把当前窗水平分割成两个窗口。(CTRL-W s有同样的效果,切换窗口时,可以按两次ctrl-w)。
- :sp filename -- 水平分割窗口,并在新窗口中显示另一个文件。
- :vsp -- 把当前窗口分割成垂直分布的两个窗口。 (CTRL-W v有同样的效果)。
- :vsp filename – 垂直分割窗口,并在新窗口中显示另一个文件。
-
关闭窗口:
- :qall -- 关闭所有窗口,退出vim。
- :wall -- 保存所有修改过的窗口。
- :only -- 只保留当前窗口,关闭其它窗口。(CTRL-W o)。
- :close -- 关闭当前窗口,CTRL-W c能实现同样的功能。
-
切换窗口:
- ctrl+w w: 切换到下一个窗口。
- ctrl+w h(l,j,k):切换到左(右,下,上)的窗口。
-
撤消与重做:
- [n] u: 取消n个改动。
- :undo 5 -- 撤销5个改变。
- :undolist -- 你的撤销历史。
- U: 取消当前行中所有的改动。
-
文档操作:
- :w 保存修改不退出。
- :wq 保存并退出。
- :x 保存并退出。
- :q! 不保存并退出。
爵士主帅谈湖人新秀克内克特表现 权志龙新歌 马立新已任海军副司令员 盘点王宝强名下企业 小爱混到管理层了 李行亮麦琳 难哄 马拉松赛上的“进货男女”已找到 张婧仪陈哲远新剧改名梦花廷 阿斯利康CEO大量买入自家股票 戴景耀想做一回顶流 侯明昊工作室发布维权声明 小雪适合吃什么 网友曝再见爱人下期历史最精彩 父亲总被催出院俩月换了4家医院 电影好东西HerStory sm出差十五夜预告 警察将举报人关留置室逼和解? 小孩哥竟然在酒店窗台发现化石 俄动用洲际弹道导弹袭乌可信吗 Faker韩国外交部演讲 王楚钦说输谁都很正常 周翊然时装男士十一月封面 曝武磊随队出征足协杯决赛 山上放火岂能把危险当浪漫 普京能用微小让步达成俄乌和谈吗 NBA新秀榜:麦凯恩升至榜首 樊振东代言红米 除了印尼还有哪些国家迁都 王曼昱vs申裕斌 韩国首尔地铁辱骂中国人 云顶之弈S13赛季正式上线 4万人死亡也换不来美国同情心吗 三角洲衔尾蛇攻略 生活竟然是个动词 林高远林诗栋止步男双8强 潘粤明一场哭戏流双倍眼泪 王者荣耀貂蝉大招调整 天降花盆贴脸砸姐弟俩面前 醉酒男欺负卖花母子?官方回应 王曼昱3比1申裕斌 晋级8强 今天的火就发到这了 考研报名人数比两年前少了86万 再见爱人后期 拜登回应ICC对以总理发出逮捕令 孙颖莎总决赛单双打均首轮出局 唐尚珺回应“厌学”传闻 车位“缩水”4毫米业主索赔 “世纪大爆仓”主角被判18年监禁 周杰伦参加孩子运动会 董宇辉回应近期鸡蛋下架
转载请注明来自广州玛斯顿影音有限公司,本文标题:《Linux基础命令-vim命令 》
百度分享代码,如果开启HTTPS请参考李洋个人博客