[Linux] vim操作

vim处理模式

vim 有三种处理模式:正常模式/一般模式,命令行模式,插入模式/编辑模式。

正常模式/一般模式:在正常模式下,可以使用快捷键

插入模式/编辑模式:可以输入i,I,o,O,a,A,r,R进入插入模式

命令行模式:完成读取,存储,替换,离开,显示行号等操作。

vim键盘图:

正常模式/一般模式快捷按键:

1.移动光标

h 或 向左箭头键(←)      光标向左移动一个字符

j 或 向下箭头键(↓)        光标向下移动一个字符

k 或 向上箭头键(↑)       光标向上移动一个字符

l 或 向右箭头键(→)       光标向右移动一个字符

如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键,按下动作即可。

[Ctrl] + [f]        屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)

[Ctrl] + [b]        屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)

[Ctrl] + [d]        屏幕『向下』移动半页

[Ctrl] + [u]        屏幕『向上』移动半页

+                        光标移动到非空格符的下一行

-                        光标移动到非空格符的上一行

n<space>           n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。

数字『 0 』 或功能键[Home]            移动到这一行的最前面字符处 (常用)

$ 或功能键[End]                            移动到这一行的最后面字符处(常用)

H                                            光标移动到这个屏幕的最上方那一行的第一个字符

M                                            光标移动到这个屏幕的中央那一行的第一个字符

L                                            光标移动到这个屏幕的最下方那一行的第一个字符

G                                               移动到这个档案的最后一行(常用)

nGn                                         为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)

gg                                               移动到这个档案的第一行

n<Enter>                            n 为数字。光标向下移动 n 行(常用)

2.搜索替换

/word                            向光标之下寻找一个名称为 word 的字符串。

?word                            向光标之上寻找一个字符串名称为 word 的字符串。

n                                     n 是英文按键。代表重复前一个搜寻的动作。

N                                     N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。

:n1,n2s/word1/word2/g        n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 

:1,$s/word1/word2/g            从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 

:1,$s/word1/word2/gc        从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 .且在取代前显示提示字符给用户确认 (confirm) 是否需要取代.

3.粘贴与复制

x, X                在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)

nx                    n 为数字,连续向后删除 n 个字符。

dd                    删除游标所在的那一整行

ndd                    n 为数字。删除光标所在的向下 n 行。

d1G                删除光标所在到第一行的所有数据

dG                    删除光标所在到最后一行的所有数据

d$                    删除游标所在处,到该行的最后一个字符

d0 [数字0]       删除游标所在处,到该行的最前面一个字符

yy                        复制游标所在的那一行

nyy                    n 为数字。复制光标所在的向下 n 行

y1G                     复制游标所在行到第一行的所有数据

yG                        复制游标所在行到最后一行的所有数据

y0                        复制光标所在的那个字符到该行行首的所有数据

y$                        复制光标所在的那个字符到该行行尾的所有数据

p, P                    p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行

J                        将光标所在行与下一行的数据结合成同一行

c                        重复删除多个数据,例如向下删除 10 行

u                        复原前一个动作

[Ctrl]+r              重做上一个动作。

编辑模式快捷键:

i, I                进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』

a, A              进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始入』。

o, O            进入输入模式(Insert mode):o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行.

r, R            进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;

[Esc]            退出编辑模式,回到一般模式中

命令行模式:

1.指令行的存储:

:w               将编辑的数据写入硬盘档案中

:w!             若文件属性为『只读』时,强制写入该档案。

:q                离开 vi

:q!            强制离开不储存档案。

:wq            储存后离开,若为 :wq! 则为强制储存后离开 

ZZ            若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开.

:w [filename]                将编辑的数据储存成另一个档案(类似另存新档)

:r [filename]                   在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面

:n1,n2 w [filename]            将 n1 到 n2 的内容储存成 filename 这个档案。

:! command                        暂时离开 vi 到指令行模式下执行 command 的显示结果!例如

『:! ls /home』                    即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

2.vim环境的变更:

:set nu        显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu        与 set nu 相反,为取消行号!

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

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,718评论 0 10
  • vi/vim是什么? 是个编辑器。 第一部分:一般模式。 移动光标的方法 h 或 向左箭头键(←) 光标向左移动一...
    溺象海阅读 231评论 0 0
  • 前言 使用vim编辑器理由在于 unix like系统 必备的内嵌文本编辑器也可以说是程序开发工具, win命令行...
    孙小二wuk阅读 557评论 0 0
  • Linux下有很多文本编辑器,其中系统(不管哪个分支)都会自带nano和vim这两个最基本的编辑器。vim相当于v...
    vic_wei7阅读 18,231评论 0 5
  • 1、原来一个人住在心里是这么伤心 2、原来一个人真的可以做到心里泪如雨下,而眼睛迎人而笑 3、原来爱情需要面包是对...
    花蜜时光阅读 160评论 0 1