Vim操作记录

前言:

以下是我跟着老师的讲解操作跟着做了一遍,刷新了自己对编辑器使用的惯性思维,比如键盘上hjkl的移动光标它处于一行,需要你在脑中自动生成移动方向,刚开始一直转换不过来。其快捷键也具有英文语义化的感觉,无需死记硬背。当然以下对于小白来说目前够用了。过后还需要使用经验的补充。

一、vim介绍

  • linux自带
  • 不需要鼠标,不用来回切换,速度快
  • 快捷键特别方便
  • 支持宏、插件,可以自己把vim配成一个IDE(集成开发环境)

1、安装和配置

切换bash和zsh

  • 切换bash:chsh -s /bin/bash
  • 切换zsh:chsh -s /bin/zsh
    (1)window——安装git bash——使用vim
    (2)mac——安装iterm2——shell页面下安装vim
    $ ~ vim

2、基本操作

(1)如何退出
ESC——依次输入想输入的内容——:wq(或 :q!
(2)如何在iterm2阅读vim教程
~ vimtutor(enter)
(3)vim基本单词的教学
-> ~ quit 退出
-> ~ write/read 读/写
-> ~ yank (copy) 拽
-> ~ paste 粘贴
-> ~ delete 删除
-> ~ change 改变
-> ~ line 一行
-> ~ find 查找
-> ~ word 单词
-> ~ forward/backward 向前/向后
-> ~ up/down 往上/往下
-> ~ i (insert/append) 插入进入编辑
-> ~ u (undo) 撤销

3、vim的命令

注: 快捷键,除了编辑模式以外,都是正常模式+英文字符的vim操作

移动光标命令

光标编辑模式内移动,既可用箭头键,也可用h j k l字母键:h(左移) j(下行)k(上行) l(右移)

  • 另起一行:
    o
  • 单个标签整体移动
    tab

(编辑模式下的)插入(添加)命令:insert

i键 ——在选中字的左边(前面)插入
a键 ——在选中字的右边(后面)插入&
shift+I键 ——在行首输入
A键/shift+a键 ——在行尾的最后输入

实现模式切换命令

i键—— insert模式 (编辑模式) ,启动插入模式
Esc键 ——普通模式(normal模式),退出/恢复正常模式
键 —— 冒号模式(命令模式)
v键 —— visual模式(编辑选区模式)

复制粘贴命令

  • 块状选定删除
    选定:v+hjkl移动光标停在欲删除的第一个字符+j
    删除:s

  • 部分选定:visual
    v+hjkl光标移动键——上下左右移动选定

  • 部分选定用的删除
    d键 (选定之后删除)

  • 选定修改
    c键 (选定后直接加上修改内容)

  • 选定拷贝 :yard
    y键 (选定后复制至变量中去)

  • 拷贝后粘贴:parse
    p键 + 当前光标往后粘贴
    P键 + 当前光标往前粘贴

-保存文件:write
:w(enter回车)——保存文件

退出:quit

:q!(enter回车) ——(放弃所有改动)强制退出&
:wq (enter回车)——(保存所有改动)保存退出

翻页:up/down

ctrl+U —— 往上半页翻
ctrl+D —— 往上半页翻

删除类命令:delete(很灵活)

x键 ——删除当前光标下字
dd键 —— 删除当行文字(此时会进入一个变量)
3dd键 ——删除三行

  • 次数 X delete a word
    dw键 ——(往后)删除一个单词
    d 2 w键 ——(当前光标下往后)删除2个单词

  • delete backward
    db键 —— (往前)删除一个单词
    delete in/at 符号或符号名
    d i ( ——把括号里面内容删除
    d i { ——把花括号里面函数删除
    d a ( ——连同括号一起删除

  • delete in tag
    d i t ——把标签内的内容删除

修改命令:change

  • change in tag
    c i t ——修改标签内的内容,同时开启编辑模式
    -change a word
    c w ——修改内容

调至指定行

8 j——跳转至第8行的指定行

撤销:undo

u

把刚才做的再做一遍:redo

ctrl+r

三、安装插件

1、配置.vimrc文件

(1)进入终端
创建文件
~ touch 1.txt

进入vim
~ vim 1.txt

修改文件(重命名文件)
~ mv 1.txt 1.html

进入
~ vi 2.html
(进入编辑模式)i键(底部显示--INSERT--

(2)安装vimrc文件
退出终端:
~ :wq

安装插件:
进入:https://gist.github.com/FrankFang/a6dc0886d6895c088225d7c61b954e69

Raw键——复制网址:https://gist.githubusercontent.com/FrankFang/a6dc0886d6895c088225d7c61b954e69/raw/4855205d90fe739067a7ee4016f010ac1009d944/simple-vimrc

回到终端:
第一步:curl 这个网址
$ curl https://gist.githubusercontent.com/FrankFang/a6dc0886d6895c088225d7c61b954e69/raw/4855205d90fe739067a7ee4016f010ac1009d944/simple-vimrc

第二步:重定向安装vimrc文件
$ curl https://gist.githubusercontent.com/FrankFang/a6dc0886d6895c088225d7c61b954e69/raw/4855205d90fe739067a7ee4016f010ac1009d944/simple-vimrc >/. vimrc

第三步:进入vimrc文件
~ vi ~/.vimrc

退出
~ :q

第四步:
~vi 2.html
此时,进入2.html之后,发现代码不一样:

  • 配色不一样
  • tab键的空格不一样

(3)终端内做一些事情

复制

v+光标移动hjkl+y ——复制

实现真正能到浏览器粘贴的文本键:

v+hjkl键+空格+y

到浏览器粘贴:

ctrl+v

2、安装管理插件的插件vimplug

(1)安装插件:vim-plug
~ curl -fLo ~/.vim/autoload/plug.vim--create-dirs\https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

(2)使用

编辑.vimrc

进入终端,打开.vimrc
~ vi ~/.vimrc

分别粘贴 vim-plug 里两行命令,在.vimrc文件中分别放置

call plug#begin('~/.vim/plugged')
call plug#end()

保存退出

:wq

重进

~ vi ~/.vimrc

3、配置创建html快捷写法的插件emmet

安装插件:vim-emmet

选2中的终端操作:

进入.vimrc配置文件中,直接输入:Plug '插件名字'
~ Plug 'mattn/emmet-vim'

保存退出

:wq

重进

~ vi ~/.vimrc

安装插件并回车(enter)运行

:PlugInstall

出现安装成功:

退出:quitall

:qa

进入2.html

~ vi 2.html
(如有原先内容可快捷删除)

使用插件

html:5 ctrl+y ,

出现标准的html文档,如图:

退出

:q

4、其他快捷键配置

(1)替换html快捷键写法的属性:
ctrl+y替换成ctrl+z(从文档中获取新属性:vim-emmet)

进入.vimrc配置文件,在空格处添加

let g:user_emmet_leader_key='<C-Z>'

保存退出

:wq

进入 2.html

~vi 2.html

使用替换后的快捷键ctrl+z

html:5 ctrl+z ,

(2)其他配置查看文档:https://github.com/FrankFang/dot-files/blob/master/vimrc

这里选择添加文档中的可改变html快捷属性的几个新属性

imap <C-y> <plug>(emmet-expand-abbr)
nmap <C-y> <plug>(emmet-expand-abbr)
vmap <C-y> <plug>(emmet-expand-abbr)

续4(1)中的终端操作,退出

:q

编辑.vimrc。进入.vimrc

~ vi ~/.vimrc

在空格行处随意添加所改变的快捷键属性

imap <C-y> <plug>(emmet-expand-abbr) //在i模式下做快捷键的映射
nmap <C-y> <plug>(emmet-expand-abbr) //在n模式下做快捷键的映射
vmap <C-y> <plug>(emmet-expand-abbr) //在v模式下做快捷键的映射

保存退出

:wq

再次进入 2.html

~ vi 2.html
(如果原先有内容先快捷删除)

使用已改变的html快捷键属性的写法:

html:5 ctrl+y

如何使用emmet插件总结:查相关文档(如emmet插件)看相关属性配置命令方法

  • ~ vi ~/.vimrc 添加属性配置
  • ~ vi 2.html 测试新属性效果

5、html文件中vim快捷键使用

(1)多行同时编辑

如在 2.html操作演示

ul>li{导航$}*10

回到正常模式Esc键,A键,ctrl+y,出现:

  <ul>
       <li>导航1</li>
       <li>导航2</li>
       <li>导航3</li>
       <li>导航4</li>
       <li>导航5</li>
       <li>导航6</li>
       <li>导航7</li>
       <li>导航8</li>
       <li>导航9</li>
       <li>导航10</li>
  </ul>

切换编辑模式:

i

选定左边所有:li

ctrl+v+j(下移),松开ctrl+v,方向键→键

删除:

s

在第一个li标签上修改为:

div

切换正常模式:

按下ESC键,则会多行同时改变标签名字

(2)复制一行并将其他行移到其他地方

正常模式下:

第一步:dd键——删除一行,如A行
第二步:p键——将删除的A行对准要粘贴的地方的前一行(假设:Y行)进行操作粘贴,即会在Y行后面粘贴上

(3)多个需求
A、如何在多行文本中各行的指定位置插入同样的字符串
创建js文件

退出,创建新文件

:q
~ touch main.js

进入main.js

~ vi main.js

编辑这个js文件,进入i的编辑模式,打以下代码:

function (p1){
  console.log(p1)
     p2 = p1+1
     p3 = p1+2
       return p1
  }

B、如何将所有的p1改为p0

进入esc正常模式
开始录制片段:

q a键——底部出现recording(a代表a事件)

删除:

xx键——删除两项

进入编辑模式:

i键——输入修改的内容

回到正常模式:

esc

结束录制:

q

在需要修改的地方播放刚才录制的事件:

@ a

C、把一个单词变成另一个单词

esc正常模式下,
光标移动到单词的第一个字符:

c w键——删选该单词

(同步)此时处于i编辑模式可以直接编辑:

输入新单词:(如A词)

切换esc正常模式,
再到另一个单词下替换刚才新单词 :A词

. 键 (此时就出现A词)

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

推荐阅读更多精彩内容

  • @(linux 编程)[vim, 技能, VIM, 开发技能, 工具使用] 使用vim 大概有2年,但是感觉一直停...
    orientlu阅读 3,090评论 1 24
  • 待整理~ 1、vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptname...
    spfanlost阅读 1,717评论 0 0
  • 夏季,还是那个校园。还有我喜欢的人。
    佛系哒大C阅读 317评论 0 0
  • 不乱于心,不困于情!拉萨9月5日走起!
    木瓜味奶茶阅读 518评论 0 51
  • 前言 我用Reactive Cocoa有一年之久,主要使用方面: 用来替代Action、delegate、noti...
    _既白_阅读 730评论 0 3