vimrc

Ubuntu的vim快捷键

喜你入骨 提交于 2020-04-06 01:55:54
命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令。 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 文件命令 打开单个文件 vim file 同时打开多个文件 vim file1 file2 file3 ... 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来。 :args 打开远程文件,比如ftp或者share folder :e ftp://192.168.10.76/abc.txt :e \\qadrive\test\1.txt vim的模式 正常模式(按Esc或Ctrl+[进入) 左下角显示文件名或为空 插入模式(按i键进入) 左下角显示--INSERT-- 可视模式(不知道如何进入) 左下角显示--VISUAL-- 导航命令 % 括号匹配 插入命令 i 在当前位置生前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 查找命令 /text  查找text,按n健查找下一个,按N健查找前一个。 ?text  查找text

用vim中的空格替换制表符

泪湿孤枕 提交于 2020-03-06 20:49:43
我想将tab转换为gVim中的空格。 我 _vimrc 下行添加到我的 _vimrc : set tabstop=2 它可以在两个空格处停止,但它仍然看起来像是插入了一个tab键(我尝试使用h键来计算空格)。 我不知道如何将gVim转换为空格? #1楼 本文有一个很好的vimrc脚本,用于处理选项卡+空格,并在它们之间进行转换。 提供以下命令: Space2Tab 仅在缩进 中将 空格转换为制表符。 Tab2Space仅 将选项卡转换为空格。 RetabIndent 执行Space2Tab(如果设置了'expandtab')或Tab2Space(否则)。 每个命令都接受一个参数,该参数指定选项卡列中的空格数。 默认情况下,使用'tabstop'设置。 资料来源: http : //vim.wikia.com/wiki/Super_retab#Script " Return indent (all whitespace at start of a line), converted from " tabs to spaces if what = 1, or from spaces to tabs otherwise. " When converting to tabs, result has no redundant spaces. function! Indenting(indent

^ M字符在Vim中意味着什么?

廉价感情. 提交于 2020-02-28 08:26:07
我一直在我的vimrc中获得 ^M 字符并且它破坏了我的配置。 #1楼 :%s/\r//g 今天为我工作。 但我的情况可能略有不同。 #2楼 在FreeBSD中,您可以通过键入以下内容手动清除 ^M : :%s/ Ctrl + V ,然后按Ctrl + M ,然后再按Ctrl + M. #3楼 翻译新行而不是删除它: :%s/\r/\r/g #4楼 我有一个文本文件,最初是通过Mac用户在Windows机器上生成的,需要使用 load data 命令将其导入Linux MySQL数据库。 虽然VIM显示'^ M'字符,但上述所有内容都不适合我的特定问题,数据会导入,但总是以某种方式损坏。 解决方案最终很容易(经过很多挫折)。 解决方案:在同一个文件上执行 dos2unix TWICE 就可以了! 使用 file 命令可以显示整个过程中发生的情况。 $ file 'file.txt' file.txt: ASCII text, with CRLF, CR line terminators $ dos2unix 'file.txt' dos2unix: converting file file.txt to UNIX format ... $ file 'file.txt' file.txt: ASCII text, with CRLF line terminators $

使用像缓冲区这样的Vim标签

99封情书 提交于 2020-02-27 13:49:13
我已经看过在Vim中使用制表符的能力(使用 :tabe , :tabnew 等)作为我当前在隐藏缓冲区中在同一窗口中打开许多文件的做法的替代。 我希望我打开的每个不同文件始终位于其自己的选项卡中。 但是,有些事情会妨碍这一点。 我该如何解决这些问题: 当 gf 和 ^] 等命令跳转到另一个文件中的某个位置时,该文件将在当前选项卡的新缓冲区中打开。 有没有办法让所有这些命令在新选项卡中打开文件,或者如果文件已经打开则切换到现有选项卡? 切换缓冲区时,我可以使用 :b <part of filename><tab> 它将完成现有缓冲区中文件的名称。 <part of filename> 甚至可以是文件名的中间而不是开头。 是否有相应的切换标签? #1楼 看看:帮助标签看起来不像vim想要像你那样工作...... 缓冲区在选项卡之间共享,因此似乎无法锁定给定缓冲区以仅显示在某个选项卡上。 不过,这是一个好主意。 您可以通过使用支持选项卡的终端(如multi-gnome-terminal,然后在每个终端选项卡中运行vim实例)来获得所需的效果。 不完美,但...... #2楼 您可以映射通常操作缓冲区的命令来操作选项卡,就像我在.vimrc中使用gf一样: map gf :tabe <cfile><CR> 我相信你可以用[^ 我不认为vim支持这个标签(尚未)。

如何在Vim中保存和恢复多个不同的会话?

只谈情不闲聊 提交于 2020-02-27 02:38:25
根据我在Vim中的任务,我打开了几个标签。 如何保存不同的会话供以后使用? #1楼 请注意:mksession不会将更改保存到您所创建的任何文件中。 假设我将从那里开始,我在保存会话后犯了关闭vim的错误。 但是下次我打开会话时,我对文件所做的更改就消失了。 #2楼 如果您使用 NERDTree 作为文件资源管理器/破折号,我建议使用 xolox / vim-session插件 而不是内置的:mksession命令。 出于某种原因,:mksession无法恢复NERDTree缓冲区。 您的里程可能会有所不同,但我想我会分享我的经验。 #3楼 你想要的东西 :mksession ~/mysession.vim 然后您可以获取该vim文件,然后您将恢复旧会话: :source ~/mysession.vim 或使用-S选项打开vim: $ vim -S ~/mysession.vim #4楼 您可能希望在vimrc中设置这些会话选项。 特别是在保存会话后更改vimrc时,选项很烦人。 set ssop-=options " do not store global and local values in a session set ssop-=folds " do not store folds #5楼 这个任务有一个非常有用的插件 vim-startify 可以处理许多其他的事情

戏说前端之CSS编码规范

こ雲淡風輕ζ 提交于 2020-02-26 22:10:50
前言 项目启动时 css 应该注意哪些问题 文件名规范 文件名建议用小写字母加中横线的方式。为什么呢?因为这样可读性比较强,看起来比较清爽,像链接也是用这样的方式,例如 // 地址: github的地址 https://github.com/wangjeaf/ckstyle-node 那为什么变量名不用小写字母加小划线的方式,如:family_tree,而是推荐用驼峰式的familyTree?C语言就喜欢用这种方式命名变量,但是由于因为下划线比较难敲(shift + -),所以一般用驼峰式命名变量的居多。 引入CSS文件的link可以不用带type=“text/css”,如下代码: <link rel="stylesheet" href="test.css"> 因为link里面最重要的是rel这个属性,可以不要type,但是不能没有rel。 JS也是同样道理,可以不用type,如下代码: <script src="test.js"></script> 没有兼容性问题。 属性书写顺序 属性的书写顺序对于浏览器来说没有区别,除了优先级覆盖之外。但是如果顺序保持一致的话,扫一眼可以很快地知道这个选择器有什么类型的属性影响了它,所以一般要把比较重要的属性放前面。比较建议的顺序是这样的: 你可能会觉得我平时差不多就是这么写的,那么说明你有一个比较好的素养。并且我觉得规则不是死,有时候可以灵活

按文件类型更改Vim缩进行为

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-26 07:47:58
有人可以简单地向我解释根据文件类型更改Vim缩进行为的最简单方法吗? 例如,如果我打开Python文件,则应缩进2个空格,但是如果我打开Powershell脚本,则应缩进4个空格。 #1楼 就个人而言,我在.vimrc中使用以下设置: autocmd FileType python set tabstop=8|set shiftwidth=2|set expandtab autocmd FileType ruby set tabstop=8|set shiftwidth=2|set expandtab #2楼 将基于文件后缀的autocmd命令放在〜/ .vimrc中 autocmd BufRead,BufNewFile *.c,*.h,*.java set noic cin noexpandtab autocmd BufRead,BufNewFile *.pl syntax on 您正在寻找的命令可能是ts =和sw = #3楼 我通常使用 expandtab 设置,但这对makefile不利。 我最近补充说: :autocmd FileType make set noexpandtab 到我的.vimrc文件的末尾,它会将Makefile,makefile和* .mk识别为makefile,并且不会展开选项卡。 大概可以扩展它。 #4楼

使用Github快速的寻找项目

心不动则不痛 提交于 2020-02-25 23:50:00
作为一个3年的码农昨天在学习项目,顺便总结一下 ,在Github找项目的几个常用方式 ,如果对您有帮助,可以点个关注,便于下次光顾! 首先我们来看一下常用命令 1、指定搜索方式 搜索文件中有 spiritmark 的代码 spiritmark in:file. ·搜索路径中有 spiritmark 的代码 spiritmarkin:path ·搜索路径中有 spiritmark 的代码或者文件中有octocat的代码 spiritmarkin:file,path ·搜索用scss写的包含 display 的代码 display language:scss 搜索包含Integer的字段 Integer 2、通过语言搜索代码 ·匹配关键字 “element" 且搜索大小为100字节的xml代码 element language:xml size:100 ·搜索mozilla用户下用markdown写的代码 user:mozilla language:markdown 3、通过 fork 的数量或者是否有父节点的方式搜索 ·搜索用java写的 android相关的代码并且被fork过 android language:java fork:true ·搜索与function相关的python代码,文件大小超过10kb function size:>10000 language:python

Linux下vim编写python脚本一键运行

这一生的挚爱 提交于 2019-12-28 09:18:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> vim编辑器的配置文件为:/etc/vimrc 通过:sudo vim /etc/vimrc 打开vim的配置文件 在结尾添加如下内容即可指定F5为测试脚本的快捷键: 注:此方式便于对脚本进行单元测试。 map <F5> :call CompileRunGcc()<CR> func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!g++ % -o %<" exec "!time ./%<" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "!time ./%<" elseif &filetype == 'java' exec "!javac %" exec "!time java %<" elseif &filetype == 'sh' :!time bash % elseif &filetype == 'python' exec "!time python2.7 %" exec "!time python3.6 %" elseif &filetype == 'html' exec "!firefox % &" elseif &filetype == 'go' exec "!go build %<"

Vim删除空白行

匆匆过客 提交于 2019-12-27 20:24:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我可以运行什么命令来删除Vim中的空行? #1楼 在vim中使用perl: :%!perl -pi -es/^\\s*$//g #2楼 此函数仅删除两个或多个空行,将下面的行放在vimrc中,然后使用\\ d来调用函数 fun! DelBlank() let _s=@/ let l = line(".") let c = col(".") :g/^\n\{2,}/d let @/=_s call cursor(l, c) endfun map <special> <leader>d :keepjumps call DelBlank()<cr> #3楼 如何删除所有空白行 :%s,\\n\\n,^M,g (做多次,所有空行都消失了) 如何删除所有空白行,留下SINGLE空行 :%s,\\n\\n\\n,^M^M,g (多次这样做) 如何删除所有空行,留下两条空行AT MAXIMUM, :%s,\\n\\n\\n\\n,^M^M^M,g (多次这样做) 为了输入^ M,我必须在windows中控制-Q和control-M #4楼 这对我有用: :%s/^[^a-zA-Z0-9]$\n//ig 它基本上删除了没有数字或字母的所有行。 由于我列表中的所有项目都有字母,因此删除了所有空白行。 #5楼 这适合我 :%s/^