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=''

保存退出

:wq

进入 2.html

~vi 2.html

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

html:5 ctrl+z ,

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

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

imap (emmet-expand-abbr) nmap (emmet-expand-abbr) vmap (emmet-expand-abbr)

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

:q

编辑.vimrc。进入.vimrc

~ vi ~/.vimrc

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

imap (emmet-expand-abbr) //在i模式下做快捷键的映射

nmap (emmet-expand-abbr) //在n模式下做快捷键的映射

vmap (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,出现:

  
  • 导航1
  • 导航2
  • 导航3
  • 导航4
  • 导航5
  • 导航6
  • 导航7
  • 导航8
  • 导航9
  • 导航10
复制代码

切换编辑模式:

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

你可能感兴趣的:(开发工具,操作系统,git)