From a3a763b716fcdd321aae19db59cd2aa77b06c85a Mon Sep 17 00:00:00 2001 From: Tiande Date: Sat, 16 Jan 2016 17:44:56 +0800 Subject: [PATCH] add tiande.md --- tiande.md | 454 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 454 insertions(+) create mode 100644 tiande.md diff --git a/tiande.md b/tiande.md new file mode 100644 index 00000000..e0412728 --- /dev/null +++ b/tiande.md @@ -0,0 +1,454 @@ +基本的 vim 操作就不介绍了,看过一本简明手册: +https://github.com/Tiande/Practice/blob/master/resource/VIM_Tutorial.html + + + +# WARNING: +# 全局的 就是指 , (逗号) 了 +# 里 'c' 是指 ctrl , '-' 号无实际意义 +# 地址连接符不用 win 的 \ ,均以 unix 的 / 展示 +# 就是让你按空格! + + + +" Map to / (search) and Ctrl- to ? (backwards search) +# 绑定 到 / ? +# 但因为 为切换输入法,所以可能会无效 + + + +" Disable highlight when is pressed +# 开关搜索词高亮 +# 是回车的意思 +, + + + +" Smart way to move between windows +# 快速在窗口间切换 + + + +" Switch CWD to the directory of the open buffer +# ,cd 切换工作目录到当前文件所在目录 + + + +" Move a line of text using ALT+[jk] or Comamnd+[jk] on mac +# 移动当前行(或 visual 选中的多行),与上下的其他行互换 +# 炒鸡好玩!!!!(Mac 用户再见;) ) + + + +" Remove the Windows ^M - when the encodings gets messed up +# ,m 把该死的 dos 文件格式末尾的 ^M 去掉 + + + +" Quickly open a buffer for scribble +# ,q 快速打开一个 buffer + + + +" Quickly open a markdown buffer for scribble +# ,x 快速打开一个 markdown buffer + + + +" Toggle paste mode on and off +# ,pp 开关 paste mode + + + +" Fast editing and reloading of vimrc configs +# ,e 快速打开 ./my_configs.vim + + + +" 如果需要折行 ,e 后,将 set nowrap 注释掉(行头加 ") + + + +# 目录补全: +输入模式下,按 开启,然后 上下选择 +# 你可以现在就试一下,先输入 . 然后使用快捷键补全成下面的样子: +# ./README.md + + + +# 打开地址下的文件: +gf +# 例: ./README.md +# 光标移到地址下然后 gf 试试看! 可以使用 ,bd 关闭等下打开的窗口回到这里哦! + + + +# emmet (zencoding) +see the tutorial in +"./sources_forked/emmet-vim/TUTORIAL" # 你可以用 gf 直接打开链接哦! + +# 默认的触发方式是 , (还有个逗号喔) + +# 当然,还有种更好的方式就是: +:help emmet + + + +# MRU +# 打开最近使用文件列表 +open: ,f +close: q +open file: o +open with readonly: v +open in new tab: t +# 可以使用 或者 ? 启用搜索 + +to display only file names containing "vim" in them, you can use the following command ":MRU vim". # 其实就是关键词搜索 我更喜欢直接在 ,f 里 + + + +# 主题啊!! 超多啊!! 自己也可以去加啊!! +# The 3rd theme: +# peaksea ir_black mayansmoke solarized pyte gruvbox +# +# These are vim's default theme (大概是这些,可以在 vim 的 colors 里找到): +# blue darkblue default delek desert elflord evening koehler morning murphy pablo peachpuff ron shine slate torte zellner + +# Edit your "my_configs.vim" (可以使用 ,e 直接打开) and modify: +:colorscheme ir_black # or peaksea ... + + + +# peepopen +don't now how to run + + + +# YankRing: +# 是一个粘贴强化的功能 + +1. paste something first (p), then use to select previous yanks, changes and deletes. # p 之后, 就可以选啦! +2. to see a history of previous yanks, changes and deletes, use: +``` +:YRShow +``` + + + +# snipMate: +# 就是自动补全 +# 打代码很有用 +just or to finish a definition, function, etc... + +# 例: 输入 date OR datetime 后, 按 就会补全日期啦! +# 2015-07-10 +# 2015-07-10 10:56 + + + +# bufexplorer: +# 缓冲区浏览器 +# 缓冲区 和 缓存 感觉差不多 +# This Plugin can be opened with +,o +# 新标签打开 +t +# close +q +# delete 一个 +d +# 手册: +:help bufexplorer + +# Close the current buffer (关闭当前编辑的文件) +,bd +# Close all the buffers (关闭所有 buffer) +,ba + + + +# commentary +使用 gc gcc gcap 快速添加注释 +gcc : 只注释/取消注释当前行 +gc : 注释/取消注释选定区域 +gcap : 注释/取消注释一个区块 + + + +# NERD Tree: +# 目录树 + +1. nn: NERDTreeToggle # 打开 +2. nf: NERDTreeFind # 在目录树定位到当前文件 +3. nb: NERDTreeFromBookmark # 打开目录树指定的 mark 文件 + +# 命令太多,可以自行查看: +,nn 后按 ? + +# 友情提示: 可以快速的在 不同窗口 间切换! + + + +# ctrlp: +Fuzzy file, buffer, mru and tag finder. +# 文件搜索 +# 不要在磁盘根目录打开,遍历文件会卡死 (不要问我为啥知道...) (使用 :pwd 查看当前目录) + +# 这三个打开命令随便哪个都行, 可以多按几次看不同效果,其他看帮助 +1. +2. +3. j # 在 ./my_configs.vim 中被 tab 切换快捷覆盖 + +for more info read the "./sources_non_forked/ctrlp.vim/readme.md" + + + +# Taglist +# 神器,列出所有函数声明 +# !!!! 你要自己去安装 ctags 快到官网愉快的下载吧。 +# open +# 该快捷键配置在 ./my_configs.vim +,tg +# 添加当前文件到 taglist (如果你勿用 d 删除了它): +,ta +# 在taglist窗口中看帮助: + + + + +## vim-multiple-cursors: +# 超好玩 +# 在 v 模式下 +# 从一个 word 开始选择,设置多焦点 +# 撤消最后一个选项 +# 跳过下一个目标 +# 退出 multiple-cursors 模式 + +# 例: +# 使用 multiple-cursors 将下列 逗号 去掉并合并为一行: +1, +2, +3, +4, +5 +# 结果: +1 2 3 4 5 + + + +# vi-expand-region: +和 vim 中用 v V 的 visual 模式不同, +直接使用 + - 号来选择区块。 +智能度不行,但傻瓜易操作 + + + +# vim-airline: +# 就是状态栏的主题 +# 在 ,e 里配置你想要的色彩: +# let g:airline_theme="luna" + + + +# vim-fugitive: +;( + + + +# goyo: +# 简化页面元素,让你专心码字! +1. use z to into zoom mode ;) +2. use to zoom in/out ;) + + + +# vim-commentary: +;( + + + +# syntastic: +# 语法检查 +,,, 开关 +使用 ALT-n ALT-p 遍历出问题的行(MAC 下暂时不会映射按键) + +## 使用 :SyntasticInfo 查看所用检查器 (checker) +## python 需要先安装 pylint flake8 之类的检查器 +## To tell syntastic to use pylint, you would use this setting: +## let g:syntastic_python_checkers = ['pylint'] # 我已在 my_configs.vim 里配置 +## e.g. Python has the following checkers, among others: flake8, pyflakes, pylint and a native python checker. + +# 具体使用请看 sources_non_forked/syntastic/README.markdown + +1. ss to set/unset syntax checking. +2. sn sp to move between wrong words. +3. sa to add word to dictionary. +4. s? to select a right word. + + + +# surround.vim config +# 在 选中的区域 加前后缀 +" Annotate strings with gettext "http://amix.dk/blog/post/19678" + +# 例: +:v # 先选中一段 +S" # 此时即可前后加上 " +test ==> "test" + +# 其实和 v 选中后再 $1 ($2 $3...)效果相同 + + + +# tab 命令 +,tn # 新 tab +,to # 只保留当前 tab +,tc # 关闭当前 tab (等同于 ZQ 或 ZZ 命令) +,tm # 移动标签到指定位置 (输入一个下标) +,t, # 补全一个 tab id 然后切过去 + +" Let ',tl' toggle between this and the last accessed tab +# ,tl 可在最近两个 tab 间切换! + +# 将 ALT-u ,ALT-i 映射为 左右切换 tab (在 ./my_configs.vim) +# vim 默认使用 gt gT 左右切换 tab + + + +" Opens a new tab with the current buffer's path +" Super useful when editing files in the same directory +# ,te 底部命令栏会出现当前文件目录,需要补全,然后在新 tab 打开文件 +# ,nn 感觉更好用啊 + + + + +# 保存命令 +,w + +" :W sudo saves the file +# 使用 :W 命令,用 sudo 权限保存文件 + + + +" Visual mode pressing * or # searches for the current selection +" Super useful! From an idea by Michael Naumann +# visual 模式选中字段后,使用 * OR # 可直接指定该区域为搜索条件 + +# 应当只按一次 * # ,然后用 n N 搜索 +# 因为 * # 默认为搜索当前光标下的词(不是句子)! + + + +" Parenthesis/bracket +# visual 模式下! 各种快捷 在选中的区域前后 插入标点符号 +$1 ==> () +$2 ==> [] +$3 ==> {} +$$ ==> "" +$q ==> '' +$e ==> "" + +# 和 S" 模式很像,可以自己再配置(,e),格式是: +vnoremap $1 `>a)` + + + +" Map auto complete of (, ", ', [ +# 插入模式下的补全 +$1 ==> () +$2 ==> [] +$3 ==> {} +$4 ==> { + +} +$q ==> '' +$e ==> "" +$t ==> <> + + + +# python 下折叠函数 +F + +# 操作:za,打开或关闭当前折叠;zM,关闭所有折叠;zR,打开所有折叠。 +# 关于折叠的详细用法,可以在这里找到: +http://tiandechi.com/2015/07/08/vim%E6%8A%98%E5%8F%A0/ + + + +# python 下的 快捷 +# 插入 +$r return +$i import +$p print +$f #--- PH ----------------------------------------------FP2xi +# 搜索 +,1 /class +,2 /def +,C ?class +,D ?def + + + +# javascript 下的 快捷 + $log() + alert() +$r return +$f //--- PH ----------------------------------------------FP2xi + + + +# ACK +# 并不会用... +" 需要机器上有 ACK(>=2.0) http://beyondgrep.com/install/ +" When you press gv you Ack after the selected text +vnoremap gv :call VisualSelection('gv', '') + +" Open Ack and put the cursor in the right position +map g :Ack + +" When you press r you can search and replace the selected text +vnoremap r :call VisualSelection('replace', '') + +" 完全不知道这些是什么鬼 +" Do :help cope if you are unsure what cope is. It's super useful! +" +" When you search with Ack, display your results in cope by doing: +" cc +" +" To go to the next search result do: +" n +" +" To go to the previous search results do: +" p +" +map cc :botright cope +map co ggVGy:tabnew:set syntax=qfpgg +map n :cn +map p :cp + + + +# 可以跳过 +# 因为我已经把 submodule 移除了... +# use submodule plugin +# 直接引用了其他的 repository (submodule 是一个很好的功能,大概算是 库中库) +# submodule 的信息储存在 ./.gitmodules + +# 要把项目里 子仓库 部署进自家目录,还要再执行一串代码: +# deploy +git submodule init +git submodule update --recursive +# or use (合并成一句): +git submodule update --init --recursive +# add +git submodule add git@github.com:yashiro1899/wheat.git node_modules/wheat +# update +git submodule foreach --recursive git pull origin master +# delete +git rm --cached node_modules/wheat && rm -rf node_modules/wheat/ + + + +