Vim使用介绍

Vim 是什么?

  • Vim是从vi发展出来的一个文本编辑器。 代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 和Emacs并列成为类Unix系统用户最喜欢的编辑器

使用 vim 编辑文件

  • 进入 vim:终端输入vim或者vi
    • 比如编译桌面上 1.txt 文件,终端在桌面路径下输入vim 1.txt
  • 如何退出 vim
    • 按一下ESC(多次按没关系),确保处于正常模式
    • 依次按下:wq,回车(w 是写入 write,q 是离开 quit,这里意思就是保存并退出)
  • 如何输入
    • i,此时我们会发现窗口底部提示栏出现 INSERT,此时我们就可以输入了
  • 如何学习 vim
    • 终端直接输入 vimtutor,会进入教程
                              第一讲小结
  1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。
         h (左移)       j (下行)       k (上行)     l (右移)

  2. 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>

  3. 欲退出 Vim 编辑器,请输入 <ESC>   :q!   <回车> 放弃所有改动。
                      或者输入 <ESC>   :wq   <回车> 保存改动。
  4. 在正常模式下删除光标所在位置的字符,请按: x

  5. 欲插入或添加文本,请输入:
         i   输入欲插入文本   <ESC>             在光标前插入文本
         A   输入欲添加文本   <ESC>             在一行后添加文本
特别提示:按下 <ESC> 键会回到正常模式或者撤消一个不想输入或部分完整的命令


                              第二讲小结
  1. 欲从当前光标删除至下一个单词,请输入:dw

  2. 欲从当前光标删除至当前行末尾,请输入:d$

  3. 欲删除整行,请输入:dd

  4. 欲重复一个动作,请在它前面加上一个数字:2w

  5. 在正常模式下修改命令的格式是:
               operator   [number]   motion
     其中:
       operator - 操作符,代表要做的事情,比如 d 代表删除(delete)
       [number] - 可以附加的数字,代表动作重复的次数
       motion   - 动作,代表在所操作的文本上的移动,例如 w 代表单词(word),
                  $ 代表行末等等。
  6. 欲移动光标到行首,请按数字0键:0

  7. 欲撤消以前的操作,请输入:u (小写的u)
     欲撤消在一行中所做的改动,请输入:U (大写的U)
     欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R


                                  第三讲小结
  1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除的文本内容置于光标之后。
     如果最后一次删除的是一个整行,那么该行将置于当前光标所在行的下一行。

  2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字符即可。

  3. 更改类命令允许改变从当前光标所在位置直到动作指示的位置中间的文本。
     比如输入 ce 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当前光标到行末的内容。
      注意:ce 命令不仅仅是删除了一个单词,也同时进入插入模式了

  4. 更改类命令的格式是:
         c   [number]   motion


                               第四讲小结
  1. CTRL-G 用于显示当前光标所在位置和文件状态信息。
     G 用于将光标跳转至文件最后一行。
     先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。
     gg 用于将光标跳转至文件第一行。

  2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。
     输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。
     完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查
     找下一个匹配字符串所在;或者按大写 N 向相反方向查找下一匹配字符串所在。
     CTRL-O 跳转回较旧的位置,CTRL-I 则带我们到较新的位置。

  3. 如果光标当前位置是括号(、)、[、]、{、},按 % 会将光标移动到配对的括号上。

  4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入  :s/old/new
     在一行内替换所有的字符串 old 为新的字符串 new,请输入  :s/old/new/g
     在两行内替换所有的字符串 old 为新的字符串 new,请输入  :#,#s/old/new/g(其中 #,# 代表的是替换操作的若干行中
                              首尾两行的行号)
     在文件内替换所有的字符串 old 为新的字符串 new,请输入  :%s/old/new/g
     进行全文替换时询问用户确认每个替换需添加 c 标志        :%s/old/new/gc


                               第五讲小结
  1. :!command 用于执行一个外部命令 command。
     看一些实际例子:
         (MS-DOS)         (Unix)
          :!dir            :!ls            -  用于显示当前目录的内容。
          :!del FILENAME   :!rm FILENAME   -  用于删除名为 FILENAME 的文件。

  2. :w FILENAME  可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文件中。

  3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件 FILENAME 中。

  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置后面。

  5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。


                               第六讲小结
  1. 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。
     输入大写的 O 可以在光标上方打开新的一行。

  2. 输入小写的 a 可以在光标所在位置之后插入文本。
     输入大写的 A 可以在光标所在行的行末之后插入文本。

  3. e 命令可以使光标移动到单词末尾。

  4. 操作符 y 复制文本,p 粘贴先前复制的文本。

  5. 输入大写的 R 将进入替换模式,直至按 <ESC> 键回到正常模式。

  6. 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:
        'ic' 'ignorecase'       查找时忽略字母大小写
        'is' 'incsearch'        查找短语时显示部分匹配
        'hls' 'hlsearch'        高亮显示所有的匹配短语
     选项名可以用完整版本,也可以用缩略版本。

  7. 在选项前加上 no 可以关闭选项:  :set noic


                                 第七讲小结
  1. 输入 :help 或者按 <F1> 键或 <Help> 键可以打开帮助窗口。

  2. 输入 :help cmd 可以找到关于 cmd 命令的帮助。

  3. 输入 CTRL-W CTRL-W  可以在窗口之间跳转。

  4. 输入 :q 以关闭帮助窗口

  5. 可以创建一个 vimrc 启动脚本文件用来保存偏好设置。

  6. 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。
     按 <TAB> 可以使用一个补全。

什么是 ~/.bashrc

就是一个文件,bash 会在启动时运行 ~/.bashrc 里面的内容

添加 alias

在 ~/.bashrc 里面添加
  alias xxx='yyy'
然后运行
 source ~/.bashrc

如何使用 z

z 能保存我们去过的路径,使用的时候只需要模糊输入就可以了

  1. 下载 z.sh
  2. 在 ~/.bashrc 里面加入 source /path/to/z.sh
  3. source ~/.bashrc

bash 脚本

在桌面路径下,创建 show.sh 文件,输入 touch show.sh && ls -al show.sh,输出 
-rw-r--r--  1 xxx  staff  0  7  5 15:06 show.sh
我们可以看到权限,只能读(read)和写(write),并不能执行(execute) 
进一步验证,输入 ./show.sh && echo 'success',输出
-bash: ./show.sh: Permission denied
提高权限,输入 chmod +x show.sh && ls -al show.sh
-rwxr-xr-x  1 xxx  staff  0  7  5 15:06 show.sh
输入 ./show.sh && echo 'success',输出
success

要学会使用 Google 搜索,
比如,获取脚本的参数,搜索:bash script get first augument
终端输入 vi show.sh,打开 show.sh,通过 i 输入,echo "$1 $2 $3",:wq 回车
终端输入 ./show.sh 1 2 3,输出
1 2 3
这样参数就拿到手了

显示文件内容,搜索:bash show file content,得知使用 cat filename
还可以使用 if else 语句
终端输入 vi show.sh,打开 show.sh,通过 i 输入
if [ ! -f "$1" ]; then
  echo "$1 不存在"
else
  cat $1
fi

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

推荐阅读更多精彩内容

  • ·概念及其学习原因 Vi是Unix世界里极为普遍的全屏幕文本编辑器,VIM是它的改进版本Vi IMproved...
    Taaaaaaaurus阅读 334评论 0 0
  • 转载原地址vi/vim 基本使用方法i/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim 是vi的升级...
    鹿啦啦zz阅读 315评论 0 0
  • Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim普遍被推...
    进击的前端_风笑影阅读 409评论 0 0
  • vim是什么? Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性...
    squall1744阅读 349评论 0 1
  • 1.rm 后面必须跟一个文件名,如果文件不存在,会提示文件不存在。(也可以 -f 不提示信息)。(这里test.t...
    ClarenceHoo阅读 665评论 0 50