Vim操作记录

2018-08-18  本文已影响0人  饥人谷_远方

前言:

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

一、vim介绍

1、安装和配置

切换bash和zsh

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(右移)

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

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

实现模式切换命令

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

复制粘贴命令

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

退出:quit

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

翻页:up/down

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

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

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

修改命令:change

调至指定行

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之后,发现代码不一样:

(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插件)看相关属性配置命令方法

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词)

上一篇下一篇

猜你喜欢

热点阅读