Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vim & tmux 分享

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Vim & tmux 分享

Vim和tmux以及Vimscript简介

Avatar for Dotslash Lu

Dotslash Lu

November 23, 2016

Other Decks in Programming

Transcript

  1. • Bill Joy, 1976 写了了第⼀一⾏行行代码,那 时还叫ex • 1978年年在BSD Unix上预装 •

    1979改名vi(visual 的缩写) • 1991 Bram Moolenaar Vim(vImproved) ⼀一点历史
  2. • Buffer • Mode • Help • Meta keys C-x,

    S-y • C for Ctrl • S for Super(Command / Windows) • <CR>, <NL> • 命令的⼀一般形式 • 设计理理念
  3. 命令的⼀一般形式 T := 次数 Motion := 动作, 命令作⽤用的范围(word, line, 上下左右...)

    T + cmd + motion ⼀一般有⼩小写命令即有对应⼤大写命令,意义相近
  4. 其它移动 • 词:w, e, b • ⾏行行:0, ^(g^), $(g$), gg,

    G • ⻚页:C-d, C-u • 其它: • f, F, t, T(配合T使⽤用) • *, #
  5. 进⼊入插⼊入模式 • i (I):insert(插⼊入),在当前光标的位置进⼊入 • a (A):append(追加),在当前光标的后⼀一个字符 进⼊入 • o

    (O):在当前光标下新建⼀一⾏行行进⼊入 • c + motion:change(更更改),即删除motion并进⼊入
  6. ⼀一些有⽤用的命令 • w, q, x, e(!) • 刚才介绍过的e, tabe, split

    • 影响vim特性的变量量 • /:搜索 • %s:正则替换 • ! • redir • ...
  7. Fold • 变量量:foldmethod, foldlevel • foldmethod: manual, indent, express, syntax,

    diff, marker • 创建fold(manual):zf, :{range}fo • 打开关闭fold:zo(zO), zc(zC), za(zA) • 批量量操作:zm(zM), zr(zR) • 移动:zj, zk
  8. Map • X := nvo • X{nore}map • nmap, nnoremap

    • imap, inoremap • 例例⼦子: • inoremap #i. #include<SPACE><.h><ESC>3ha
  9. 周边 • ctags - “⻜飞来⻜飞去" • ⽤用ctags索引⼀一个项⽬目 • ⽤用 C+]

    ⻜飞到⼀一个symbol的定义 • ⽤用 C+t 返回 • Chrome插件 Vimium • f:follow link,打开⼀一个链接 • Sublime-text vim-mode
  10. Session管理理 • tmux {new -s name} • tmux ls •

    tmux a -t name • tmux kill-s name
  11. 历史操作 • 选择vim模式::setw -g mode-keys vi • 进⼊入选择模式:C-b [ •

    接下来相当于进⼊入了了⼀一个Vim,你可以上下移动和 拷⻉贝 • 粘贴:退出选择模式后在想要粘贴的地⽅方C-b ]