Vim基本使用方法

为什么要学习Vim,Vim和Vi的区别,Vim的基本使用方法(部分)

为什么很多大型网站都采用Linux作为服务器


1. 为什么要学习Vim,是为了装B吗?

在Windows操作系统横行的今天,为什么要学习使用Vim这样需要各种快捷键的文本编辑器呢?

大型网站的服务器一般是无图形化界面的Linux系统,当需要进行调试、远程处理问题的时候,只能调出terminal(终端窗口),然后用命令"vim index.html"这样的方式,调出vim编辑器,再进行更改。


引申:

为什么大型网站选择使用Linux作为服务器系统,知乎上的yegle大神给出了个人感觉很中肯的回答,Linux 作为服务器操作系统的优势是什么?


2. Vim和Vi的区别

Vim是Vi的升级版本,Vim不仅兼容所有的Vi语法,还加入一些新的特性在里面,如:语法高亮、可视化操作、多平台支持(终端、Windows、MacOS等)。总之,学习好Vi,就学会了Vim。

vim编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及 Linux系统的任何版本,vim编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vim也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。


3. Vim快捷键练习利器----VimTutor

Vimtutor是新手可以快速入门Vim的一个Vim内置应用,直接在Vim命令行下,敲Vimtutor,回车即可进入练习。


4. Vim的三种模式

Vim可以分为三种模式,分别为:

命令行模式(Command mode)

插入模式(Insert mode)

底行模式(Lastline mode)

命令行模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

插入模式

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

底行模式

将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过,一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。


5. Vim的基本操作

a) 进入Vim

在系统光标提示符后,输入vim及文件名后,回车,进入Vim编辑画面。


特别注意,进入vim之后,是处于「命令行模式(command mode)」,要切换到「插入模式(Insert mode)」才能够输入文字。

b) 切换至插入模式(Insert mode)编辑文件

「命令行模式(command mode)」按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

c) 插入模式(Insert mode)切换到命令行模式(Command mode)

在插入模式下,按一下「ESC」键即可。

d) 退出vim及保存文件 

在命令行模式(Command mode)下,按冒号「:」键,进入底行模式(Last Line mode)

常见底行模式下的命令行:

:w filename 文件以filename为文件名保存

:wq 文件存盘并退出vim

:q 文件不存盘并退出vim

:q! 文件不存盘强制退出vim


6. 命令行模式下的功能键(部分)

a) 从命令行模式切换为插入模式的三种方式

「 i 」:从当前光标位置进入插入模式

「 a 」:从当前光标位置的下一个字符进入插入模式

「 o 」:从当前光标位置的下一行进入插入模式

b) 从插入模式切换为命令行模式

按「ESC」键 

c) 移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

d) 行尾追加

不管光标在该行的什么位置,直接按大写字母「A」即可

e) 删除单词

dw:把光标停留在需要删除的单词前面,依次按下「d」「w」,即可

de:把光标停留在需要删除的单词前面(无视单词前面的空格),依次按下「d」「e」,即可

f) 从当前光标处删除到行末

把光标停留在需要删除的句子前面,依次按下「d」「$」,即可

g) 快速跳转到行首

按下数字「0」,即可

h) 使用计数以删除单词

示例:this ABC DE line FGHI JK LMN OP of words is Q RS TUV cleaned up.

依次将鼠标定位到ABC前,按「d」「2」「w」,可以删除:ABC DE

将鼠标定位到FGHI前,按「d」「4」「w」,可以删除:FGHI JK LMN OP

将鼠标定位到Q前,按「d」「3」「w」,可以删除:Q RS TUV

得到句子:

this line of words is cleaned up.

i) 删除当前行

鉴于删除当前行这一操作的高频性,vim设计者简化了快捷键,按「d」「d」即可。

连续删除两行,从当前行开始,则为:「2」「d」「d」

j) 撤销更改

a. 按小写字母「u」,撤销上一步的更改操作;

b. 按大写字母「U」,撤销整行的更改操作;

c. 「Ctrl+R」撤销上一步「撤销操作」。

k) 将刚删除的内容置入其他行

之前刚刚删除的内容,会放入Vim编辑器的寄存器中。基于如此原理,可以将之认为成Windows操作系统的「剪切」操作。

先在想删除的行,按「d」「d」,进行删除操作;

再在想插入那行的前一行按「p」键即可。

l) 替换

将光标放到需要改的字符前,先按「r」键,再输入想更改的字符即可。

m) 跳转

顶部跳转命令:先按「Control」+「g」键,在终端底部调出一栏,然后输入「g」「g」即可;

底部跳转命令:先按「Control」+「g」键,在终端底部调出一栏,然后输入大写字母「g」即可;

特定行跳转命令:直接输入行号,然后输入大写字母「g」即可。

n) 查找命令

字符串查找:

输入英文斜杠「/」,后面紧接需要搜索的字符串即可。

查找下一个相同字符串,就紧接着按小写字母「n」;

查找上一个相同字符串,就紧接着按大写字母「N」。

配对括号查找:

在编程语言里,配对括号「 ( 」「 ) 」「 { 」「 } 」很常见,当定位到一个配对括号的一半时(注意光标要定位在该括号之前),按「%」,即可自动跳转到与之匹配的第一个配对括号处。

o) 替换字符串

当前行替换命令

在标准命令行模式下,光标定位到当前行,按英文冒号「 :」,再输入s/oldstring/newstring/g 回车,即可。

完整语句为:

:s/dogg/dog/g

特定几行替换命令

在标准命令行模式下,按英文冒号「 :」,再输入#,#s/oldstring/newstring/g 回车,即可(其中#代表特定的首尾两行的行号)。

完整语句为:

:5,8s/dogg/dog/g

全文替换命令

在标准命令行模式下,按英文冒号「 :」,再输入%s/oldstring/newstring/g 回车,即可(其中#代表特定的首尾两行的行号)。

完整语句为:

:%s/dogg/dog/g

全文替换命令(每个匹配项替换前需确认)

在标准命令行模式下,按英文冒号「 :」,再输入%s/oldstring/newstring/gc 回车,即可(其中#代表特定的首尾两行的行号)。

完整语句为:

:%s/dogg/dog/gc

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

推荐阅读更多精彩内容

  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 3,027评论 0 3
  • 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令...
    im蚂蚁阅读 30,618评论 3 48
  • dpkg 学习 安装mysql apt-get install mysql-server-5.6 apt-get ...
    sharonji阅读 411评论 0 0
  • 支持text文本根据内容显示,显示不了的进行滚动显示http://www.cnblogs.com/Cocomo/p...
    好怕怕阅读 2,149评论 1 2
  • 转眼间,大学的第一个学期就要结束,时间总是在不经意间就这样偷偷的溜走。大学和我无数次憧憬的不太一样,开学前定...
    亚玮呀阅读 2,636评论 7 6