Linux vi / vim 基本操作

作者:Gakki

vi / vim 的基本概念

  • 什么是 vi,vi 即终端中的一款编辑器。
  • 在很多 Linux 发行版中,直接把 vi 做成 vim 的软链接。vim 即 vi improved,是从 vi 发展来的一个文本编辑器。支持代码补全、编译、错误跳转等多项功能,被称之为 " 编辑器之神 "。
  • vi / vim 没有图形界面,只能编辑文本内容,不支持鼠标操作,没有菜单,只有命令。
  • 基本上 vi / vim 共分为三种模式,分别为命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

命令模式(Command mode)

命令模式(Command mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入输入模式(Insert mode)或底线命令模式(Last line mode)。

  • 当我们启动 vi/vim 命令时,如 vim test.txt,便进入命令模式。在此状态下,敲击键盘动作会被 Vim 识别为命令,而非输入字符。如当我们按下 i ,并不要输入 i 字符,而是会被当作命令。在命令模式中,常用的几个命令有:
    • i:切换到输入模式,以输入字符。
    • x:删除当前光标所在处的字符。
    • :(英文冒号):切换到底线命令模式,在最底一行输入命令。

输入模式(Insert mode)

输入模式(Insert mode):只有在输入模式(Insert mode)下,才可以进行文字输入。在命令模式中按下 i 就进入输入模式;按 [ ESC ] 键可回到命令行模式。在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合:输入字符
  • ENTER:回车键,换行
  • BACK SPACE:退格键,删除光标前一个字符
  • DEL:删除键,删除光标后一个字符
  • 方向键:在文本中移动光标
  • HOME/END:移动光标到行首/行尾
  • Page Up/Page Down:上/下翻页
  • Insert:切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC:退出输入模式,切换到命令模式

底线命令模式(Last line mode)

底线命令模式(Last line mode):在命令模式下按下 :(英文冒号)就进入底线命令模式;按 [ ESC ] 键可回到命令行模式。在底线命令模式中,基本命令有:

命令 功能
w (write)保存文件
q (quit)退出程序
q! (quit)不保存强制退出 vi
wq (write&quit)保存并退出 vi

vi / vim 使用实例

1. 进入命令模式
  • 输入 vi 文件名称,就进入 vi 全屏编辑画面
  • 如:vi test.txt
    vi test.txt

注:

  • 如果没有 text.txt 文件,会自动创建一个 text.txt 文件。
  • 现在是处于命令模式。需要按下i或者a或者o 等字符切换到输入模式才可以输入文字。
2. 进入输入模式
  • 进入命令模式之后,按下i或者a或者o 等字符即可进入输入模式。在输入模式中,你可以发现在左下角有个 --INSERT--,这表示当前可输入字符了。
    进入输入模式

    注:
  • 按下 [ESC] 建可回到命令模式。
3. 进入底线命令模式
  • 当我们写完之后需要保存或者是不保存退出 vi。只需要先在输入模式中按下[ESC] 建回到命令模式,然后输入: 切换到底线命令模式。最后在输入命令即可。
  • 如:输入 wq(保存并退出 vi)或 q(不保存直接退出 vi)或 q!(不保存强制退出 vi)
    退出 vi 模式
4. 其他
  • 底线命令模式中可用的命令说明
命令 功能
w (write)保存文件(常用
w! 若文件属性为 [只读] 时,强制写入该文档。但具体能否写入,需要看该文档的权限。
q (quit)退出程序
q! (quit)不保存强制退出 vi
wq (write&quit)保存并退出 vi
w [file1] 将编辑的数据另存为 file1
r [file1 在编辑的数据中,读取 file1 的数据。也就是将 file1 文档里的内容加到游标所在行后面
n1,n2 w [file1] 将 n1 到 n2 的内存存储到 file1 文件里。
:! command 暂时离开 vi 到底线命令模式下执行 command 的显示结果。如::! ls /home即在 vi 模式中察看 /home 中执行 ls

注: ! 在 vi 当中,常常具有 [强制] 的意思。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容