为了账号安全,请及时绑定邮箱和手机立即绑定

玩转Vim 从放弃到爱不释手

难度中级
时长 5小时 9分
学习人数
综合评分9.67
37人评价 查看评价
9.9 内容实用
9.1 简洁易懂
10.0 逻辑清晰
  • " nerdtree settings

    nnoremap <leader>f :NERDTreeFind<cr>

    nnoremap <leader>t :NERDTreeToggle<cr>

    " set width

    let NERDTreeWinSize=31

    " show hidden files

    let NERDTreeShowHidden=1

    " not show files listed

    let NERDTreeIgnore= [

                 \ '\.git$', '\.hg$', '\.svn$', '\.stversions$', '\.pyc$', '\.pyo$', '\.swp$',

                 \ '\.DS_Store$', '\.sass-cache$', '__pycache__$', '\.egg-info$', '\.ropeproject$',

                 \ ]


    查看全部
  • normal 移动的快捷方式:

    • w/W: 移动到下一个word/WORD 开头

    • e/E: 移动到下一个 word/WORD 结尾

    • b/B: 移动到上一个 word/WORD 开头  (backword)


    行间搜索移动

    • f{char}: 当前光标往行后搜索字符, 分号(;)下一个找到的字符,逗号(,)上一个找到的字符

    • F{char}: 当前光标往前搜索字符

    • 0: 移动到行首第一个字符

    • ^: 移动到第一个非空白字符

    • $: 移动到行尾

    • g_: 移动到行尾非空白字符


    页面移动

    • gg: 文件开头

    • G: 文件结尾

    • H: 屏幕的开头(Head)

    • M: 屏幕的中间(Middle)

    • L: 屏幕的结尾(Lower)

    • crtl+u: 上翻页(upword)

    • ctrl+f: 下翻页(forword)

    • zz: 屏幕置为中间

    查看全部
  • 概念:

    • Buffer: 内存缓冲区

    • Window: Buffer的可视化分割区域

    • Tab: 组织Window为一个工作区

    <TAB> 补全命令

    :ls 列举当前缓冲区

    :b [num] 跳转到[num]缓冲区

    :b [name] 跳转到[name]缓冲区

    :bpre/bnext/bfirst/blast 跳转到上一个/下一个/第一个/最后一个缓冲区

    :e [name] 打开[name]文件


    C-w s 水平分割窗口

    C-w v 垂直分割窗口

    C-w w 循环切换窗口

    C-w h/j/k/l 切换到←/↓/↑/→窗口 

    C-w H/J/K/L 移动当前窗口向←/↓/↑/→

    C-w = 所有窗口等宽高

    C-w _/| 当前窗口最大化高度/宽度

    [num]C-w _/| 当前窗口高度设为[num]行/列


    :tabnew 新建标签页

    :tabe [name] 在新标签页打开[name]文件

    :tabc 关闭当前标签页和窗口

    :tabo 只保留当前标签页并关闭其他的

    C-w T 将当前窗口移动到新标签页

    :tabn [num] 切换到[num]标签页,没有[num]表示下一个

    [num]gt 同上

    :tabp 切换到上一个标签页

    gT 同上


    查看全部
    3 采集 收起 来源:Vim 多文件操作

    2019-11-03

  • 数字+命令可多次执行该命令

    删除:

    x 删除一个字符

    d[object] 删除一个[object]

    [object]包括但不限于: 

    • (a)w  单词(包含空白符)

    • iw    单词(不包含空白符)

    • $

    • 0

    • ...

    dd 删除当前行

    dt[char] 删除直到[char]的字符

    修改:

    r 替换当前字符

    R 进入替换模式

    s 删除当前字符并进入插入模式

    S 删除当前行并进入插入模式

    c[object] 删除一个[object]并进入插入模式

    ct[char] 删除直到[char]的字符并进入插入模式

    C 删除当前行光标后所有字符并进入插入模式

    查询:

    :set hls 搜索结果高亮

    :set incsearch 增量搜索

    /[string] 正向搜索

    ?[string] 反向搜索

    其中:

    • n/N 下一个/上一个匹配

    */#  当前单词的正向/反向匹配 


    查看全部
  • " 常用设置

    " 设置行号

    set number

    colorscheme hybrid

    " 按F2进入粘贴模式

    set pastetoggle=<F2>

    " 高亮搜索

    set hlsearch

    " 设置折叠方式

    set foldmethod=indent


    ” 一些方便的映射

    Let mapleader= ' ,'

    let g:mapleader=','

    " 使用jj进入normal模式

    inoremap jj <Esc>`^

    "使用leader+w 直接保存

    inoremap <leader>w <Esc> :w<cr>

    noremap < leader>w :w<Cr>

    " 切换buffer

    nnoremap <silent> [b :bprevious<CR>

    nnoremap <silent> [n :bnext<CR>

    " use ctrl+h/j/k/L switch window

    noremap <C-h> <C-w>h

    noremap <C-j> <C-w>j

    noremap <C-k> <C-w>k

    noremap <C-l> <C-w>l


    "Sudo to write

    cnoremap w!! w !sudo tee % >/dev/null

    " json格式化

    com! FormatJSON %!python3 -m json.tool


    " 插件设置,这里使用了vim-plug

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


    "安装插件只需要把github 地址放到这里重启后执行:PlugInstall 就好了

    PLug 'mhinz/vim-startify'

    PLug 'scrooloose/nerdtree'


    call plug#end()

    查看全部
  • ## 2-9 vim复制粘贴与寄存器的使用

    ### vim在Normal模式复制粘贴

    - Normal模式下复制粘贴分别使用y(yank)和p(put),剪切d和p

    - 可以使用v(visual)命令选中所要复制的地方,然后顺遂p粘贴

    - 配合文本对象:比如顺遂yiw复制一个单词,yy复制一

    ### Insert模式下的复制粘贴

    - 和其他文本编辑器差不多,但粘贴代码有个坑

    - 在vimrc中设置了autoindent,粘贴Python代码缩进错乱

    - 这个时候需要使用`:set paste`和`:setnopaste`解决

    ### 什么是vim的寄存器

    - vim里操作的是寄存器而不是系统剪切版,这和其他编辑器不同

    - 默认使用d删除或者y复制的内容都放到了“无名寄存器”

    - 用x删除一个字符放到无名寄存器,然后p粘贴,可以调换俩字符

    ### 深入寄存器(register)

    - 通过`"{register}`前缀可以指定寄存器,不指定默认无名寄存器

    - 比如使用`"ayiw`复制一个单词到寄存器a中,'bdd删除当前行到寄存器b中

    - :reg a查看寄存器a中的内容

    - "a p粘贴a寄存器中的内容

    ### 其他常见寄存器

    除了有名的寄存器a-z,vim中还有一些其他常见寄存器

    - 复制专用寄存器`"0`使用y复制的文本同时会被考呗到复制寄存器0

    - 系统剪切版`"+`可以复制到系统剪切版

    - 其他寄存器,比如`"%`当前文件名,`".`上次插入的文本

    - :set clipboard=unnamed可以让你直接复制粘贴系统剪切版内容




    查看全部
  • 学习配置,后面学习的人越来越少了

    查看全部
  • :% s/要替换的/替换成的/g.c.n

    c-r 撤销u命令 

    \<精确单词\>

    查看全部
  • a append

    i insert

    o open a line below


    A append after line 

    I insert before line 

    O  append a line above

    查看全部
  • xp 俩字符互换位置

    "" 默认寄存器 "0 复制寄存器 "+ 系统剪贴板 "% 当前文件名 ". 上次插入的文本

    :set clipboard=unnamed 直接使用系统剪切板

    在插入模式 用<C-r>+粘贴系统剪切板中的内容

    查看全部
  • daw : delete a word

    dt{char}: delete to the char

    dd : delete the row

    x : delete a char

    c : change

    c : change a word



    查看全部
  • 1、sp、vs可进行分屏编辑;

    2、% s/str1/str2/[g]  可进行文本[全局]替换;

    3、normal模式下,v/V进行可视化(光标/整行选中)操作;

    4、y命令可以复制选中的块,p可以粘贴复制的块。

    查看全部

  • vim4种模式

    Normal普通模式(浏览)

        Esc插入模式回到普通模式

        普通模式下进行各种命令操作和移动

        大部分情况下,使用的是浏览


    Insert插入模式(编辑)

        a/i/o 光标进入插入模式

        A/I/O 行进入插入模式


    Command命令模式(操作)

        Normal模式下:进入命令模式

        :q退出 :w保存 

        :vs(vertical split)垂直左右分屏 :sp(split) 水平上下分屏

        :set nu 设置行号

        :% s/java/python/g  全部替换java->python


    Visual可视模式(选择)

        Nomal模式下进入Visual模式

        v选择字符

        V选择行

        ctrl+v块状选择


    查看全部
  • 1. 输入模式下快速纠错(终端下也有类似的快捷键)
    • ctrl+h 删除上一个字符

    • ctrl+w 删除上一个单词

    • ctrl+u 删除当前行

    • ctrl+a (终端) 快速移动到开头

    • ctrl+e (终端)快速移动到结尾

    • ctrl+f (终端)光标后移

    • ctrl+b (终端)光标迁移

    2. 快速切换 insert 和 normal 模式

        insert -> normal: ctrl+c 或者 ctrl+[
        gi: normal 模式切换到 insert 模式,且到上次编辑的地方

    查看全部
  • ## 2-13 裸的vim

    - 很多初学者Vim基本命令都不熟就开始找一些复杂的强大配置

    - 不利于你熟悉Vim,一旦出问题了你还不知道怎么修复

    - 建议初学者还是从裸的Vim开始学习,有些场景比如服务器或者容器上我们没法配置Vim

    学之前,先用对打字指法和盲打

    - 编辑代码,脑子- -般比手快,盲打有利于跟上你的大脑速度

    - 裸的Vim也有很多强大功能和使用方式,本章你应该学到了不少

    - 学会了用Vim ,你可以在你的IDE.上安装Vim插件,几乎所有流行的编辑器和IDE工具都支持Vim插件

    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
1、了解 Linux 系统的常见操作。 2、知道如何安装 Vim。
老师告诉你能学到什么?
1、Vim 编辑器的基础操作 2、使用 Vim 编辑器的奇淫技巧 3、Vim 编辑器中常见的概念 4、如何配置 Vim 编辑器 5、如何安装和使用常见的 Vim 插件 6、使用Vim 开源配置

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!