Linux基础命令-vim命令

Linux基础命令-vim命令

梅材高 2024-11-22 资讯 343 次浏览 0个评论

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请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!
Top