vim

VIM常用操作命令梳理

ε祈祈猫儿з 提交于 2019-12-27 01:38:47
打开关闭 vim xxx,vim +num xxx 命令行打开文件 vim + filename 启动跳到文件结尾 vim +143 filename 打开跳到143行 调试代码有用 vim +/search-term filename 跳到第一个匹配 vim +/search-term filename 跳到最后一个匹配 vim -t tag vim —cmd command filename 加载文件前执行命令 vim -c “:50” filename 加载文件后执行命令 :e xxx vim中打开文件 :w[rite],:up[date],:w!,up!,:wall保存文件 :x,:q,:qa,:q!,退出文件 gf 普通模式下打开文件名为光标处文字的文件 Ctrl+W f 新窗口打开匹配的文件 Ctrl+W fg 新tab页打开匹配的文件 代码相关 <,>对代码进行缩进 <<,>>用于调整源代码缩进格式 = 用户自动格式化代码缩进,gg=G 即为全文格式化 zf,zo,zc,za,zR,zM对代码进行折叠打开折叠 Ctrl+],Ctrl+T查找函数的定义和返回 大写K,看光标所指标识符的man帮助 移动光标 h,j,k,l ←↓↑→ 移动光标,相当于四个方向键 w,b,e,ge 以单词的方式移动,可以nw,nb,ne,nge的方式移动n个单词的距离 W,B,E

个人觉得不错的网站或文章

时光毁灭记忆、已成空白 提交于 2019-12-27 01:36:24
1.Git 廖雪峰的Git教程(个人觉得很适合入门): Git教程 Git分支管理策略 (作者:阮一峰) A successful Git branching model (介绍分支管理) Git查看、删除、重命名远程分支和tag 2.Vim Vim帮助中文版(对看不太懂英文帮助文档的很有帮助): Vim中文帮助 易水博客的Vim教程(讲解详细): Vim使用进阶 3.Makefile 陈皓的Makefile教程(还行): 跟我一起写Makefile 从头开始写项目Makefile(入门教程,个人觉得写的不错): 从头开始写项目Makefile 4.ASM Intel的汇编资料: Intel 64 and IA-32 Architectures Software Developer’s Manuals 5.C++ Google C++风格指南 6.Linux Linux文件系统标准: Filesystem Hierarchy Standard 来源: https://www.cnblogs.com/cpointer/p/4515442.html

Append text to each of multiple lines in file

半世苍凉 提交于 2019-12-26 23:33:07
问题 I have a query which is to be performed on thousands of rows (28,000 odd to be more exact) using a unique identifier. This is (simplified) the query: update "table1" set event_type = 'NEW' where id= And there is a file ids.txt which contains the ids for the rows the update is to be performed on: 10003 10009 .... .... 79345 79356 The resultant file should be like this: update "table1" set event_type = 'NEW' where id=10003; update "table1" set event_type = 'NEW' where id=10009; ... update

Append text to each of multiple lines in file

不打扰是莪最后的温柔 提交于 2019-12-26 23:32:30
问题 I have a query which is to be performed on thousands of rows (28,000 odd to be more exact) using a unique identifier. This is (simplified) the query: update "table1" set event_type = 'NEW' where id= And there is a file ids.txt which contains the ids for the rows the update is to be performed on: 10003 10009 .... .... 79345 79356 The resultant file should be like this: update "table1" set event_type = 'NEW' where id=10003; update "table1" set event_type = 'NEW' where id=10009; ... update

vim与emacs脚本编程对比

爷,独闯天下 提交于 2019-12-26 18:48:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 定义变量 vim : let a = 1 emacs: (setq a 123) 定义函数 vim: function Fun() "如果不使用作用域限制,首字母需要大写 endfunction 命令行调用 :command! -nargs=1 Gdb :!命令 "<args>" emacs: (defun fun () "message" (interactive) ..... ) 执行函数 vim: call function() emacs: (fun ) 条件语句 vim: if c elseif b else e endif while a endwhile emacs: (if a 'thenfun 'elsefun) (while (equal a b) body... (计数器)) (cond (first ...) (second ...)) 自动执行 vim: autocmd BuffRead *.cpp :call fun emacs: (add-hook 'c++-mode-hook '(lambda () (interactive) .....)) 引用其他文件 vim: source name.vim . name.vim emacs: (require 'name) ;

如何在Vim中进行重做(即“撤消撤消”)?

馋奶兔 提交于 2019-12-26 18:37:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在Vim中,我做了太多的撤消。 如何撤消此操作(即重做)? #1楼 奇怪没有人提到 :earlier / :later 。 要重做你需要做的一切 later 9999999d (假设您最初在9999999天前编辑了该文件),或者,如果您还记得当前撤消状态与所需撤消状态之间的差异,请分别使用 Nh , Nm 或 Ns 表示小时,分钟和秒。 + :later N<CR> <=> Ng+ 和 :later Nf 用于文件写入。 #2楼 Ctrl + r #3楼 在命令模式下,使用U键撤消,使用Ctrl + r重做。 请访问 http://www.vim.org/htmldoc/undo.html 。 #4楼 CTRL + r “r”是小写的。 #5楼 Vim文档 <Undo> or *undo* *<Undo>* *u* u Undo [count] changes. {Vi: only one level} *:u* *:un* *:undo* :u[ndo] Undo one change. {Vi: only one level} *CTRL-R* CTRL-R Redo [count] changes which were undone. {Vi: redraw screen} *:red* *:redo*

vim的跨文件复制粘贴

浪尽此生 提交于 2019-12-26 17:41:06
1、用vim打开一个文件,例如:a.cpp 2、在普通模式下,输入:":sp"(不含引号)横向切分一个窗口,或者":vsp"纵向切分一个窗口,敲入命令后,你将看到两个窗口打开的是同一个文件 3、在普通模式下,输入:":e b.cpp",在其中一个窗口里打开另一个文件 4、切换到含有源文件(a.cpp)的窗口,在普通模式下,把光标移到你需要复制内容的起始行,然后输入你想复制的行的数量(从光标所在行往下计算),在行数后面接着输入yy,这样就将内容复制到临时寄存器里 了(在 普通模式下ctrl+w,再按一下w,可以在两个窗口之间切换) 5、切换到目标文件( b.cpp )窗口,把光标移到你接收复制内容的起始行,按一下p,就完成复制了。 来源: https://www.cnblogs.com/yoyo-sincerely/p/5866206.html

LVS-DR与 Keepalived群集

两盒软妹~` 提交于 2019-12-26 15:43:13
keepalived概述 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 keepalived工作原理 1、keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 2、虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。 3、keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式

vim的使用

做~自己de王妃 提交于 2019-12-26 12:34:03
https://www.cnblogs.com/litterrondo/archive/2013/05/18/3085654.html 1.Vim的三种模式 vi/vim有三种执行模式:命令模式、插入模式和编辑模式。 使用vi/vim打开文件时默认进入命令模式,三种模式之间的切换如上图所示。 2. 插入命令 在命令模式下键入插入命令会进入到插入模式下,插入模式下可以输入文本。 i: 在光标前插入, I: 在光标所在行的行首插入 a:在光标后插入, A:在光标所在行行尾插入 o:在光标所在行上插入新行,O:在光标所在行下插入新行 3. 光标移动命令 在命令模式下键入,改变光标位置 h:光标左移, j:光标下移, k:光标上移, l:光标右移动 H:光标定位到屏幕最上面一行, M:光标移动到屏幕中央, L:光标移动到屏幕最下方 0: 光标移动到行首, $光标移动到行尾 4. 定位命令 在命令模式下键入,定位光标位置 gg:回到文件首行, G:回到文件尾行 :n和nG: 光标定位到文件第n行(:20或20G表示光标定位到第20行) :set nu 或:set number显示行号, :set nonu 取消显示行号 5. 删除命令 在命令模式下键入,删除文件中的内容 x : 删除光标所在字符, nx:删除光标后n个字符 dd:删除光标所在行,ndd:删除光标所在行以后的n行 D

vim创建新文件自动添加自定义信息

别等时光非礼了梦想. 提交于 2019-12-26 09:44:30
vim创建新文件自动添加自定义信息 用vim创建新文件时会相应地给出该文件属性的自定义信息,以Ubuntu 18.04系统为例,当创建.sh脚本文件时: 当创建.cpp源文件时: 以管理员方式用vim打开其配置文件.vimrc,命令如下: sudo vim /etc/vim/vimrc 输入密码后,进入如下界面: 输入“i”进入编辑状态,并把如下信息复制在文件末尾,信息如下: let g:pydiction_location = '~/.vim/after/complete-dict' let g:pydiction_menu_height = 20 let Tlist_Ctags_Cmd='/usr/local/bin/ctags' let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 autocmd FileType python set omnifunc=pythoncomplete#Complete set rtp+=~/.vim/bundle/vundle set fencs=utf-8,ucs-bom,shift-jis