美文网首页
Vim操作记录

Vim操作记录

作者: 饥人谷_远方 | 来源:发表于2018-08-18 17:09 被阅读0次

    前言:

    以下是我跟着老师的讲解操作跟着做了一遍,刷新了自己对编辑器使用的惯性思维,比如键盘上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词)

    相关文章

      网友评论

          本文标题:Vim操作记录

          本文链接:https://www.haomeiwen.com/subject/mhbfiftx.html