Tag: vim

  • MacOS下配置neovim的nvim-lspconfig + clangd

    配置nvim-lspconfig和clangd的注意事项

  • 配置windows上的git commit时的默认编辑器

    在Win下使用github的Git Shell,每次commit时都会弹出记事本,使用不是太爽,想换成vim才顺手。操作步骤如下 安装gvim 将gvim的目录加入Path环境变量中,在 我的电脑 – 属性 - 高级 - 环境变量中修改 配置git git config –global core.editor gvim 重启Git Shell即可生效!

  • 使用markdown格式写Todo list

    上周我完成了chrome的markdown-preview扩展的修改,使它支持markdown文件的实时预览功能。现在可以考虑用这个功能来做一些更酷的事情,比如说,写Todo list? 开始干 首先我找到了一个叫topmarks的markdown样式文件,这个样式文件能给出一个漂亮的Todo list样式,我把它合并到了 修改后的markdown preview插件 关注了一下markdown-preview原作者的github,他有计划增加一项功能,让用户可以自定义css文件,但是近期完成无望,所以我新增了一个topmarks的分支,采用新的样式 在chrome的扩展中重新加载插件 效果图 如图,我采用vim编辑文件,右边摆上chrome浏览器预览,文件采用dropbox同步,保证我随时能更新这个文件。 关于topmarks的补充说明 topmarks样式采用了这些自定义标签 <t> 新任务 <d> 已完成的任务 <c> 已取消的任务 http, ical, mailto, file链接有不同的图标

  • markdown文件的编辑以及实时预览

    之前看到有一款叫Mou的软件可以编辑markdown格式的文本内容并且实时预览,可是我比较喜欢用vim编辑器,所以就想着能不能用别的软件配合着来实现实时预览。 今天看到一个chrome的扩展叫markdown preview,它可以自动把md或markdown后缀的文本转换为html格式在chrome中查看,只是还欠缺一个自动刷新的功能。然后我看到它的源码已经放在github上,于是抓回来做了一些修改,加上了自动刷新的功能。 演示 尝试了一下在vim中编辑文件,然后在chrome中浏览,效果还不错,见下图: 更改后的扩展 我把修改后的markdown preview插件放在github上 , 已经尝试向原作者发起pull requests,要试用的话需要按下面几步操作: 把插件的代码clone回来 git clone git://github.com/volca/markdown-preview.git 开启chrome扩展的开发者模式,具体位置在窗口 -> 扩展程序里 载入正在开发的扩展程序 将允许访问文件网址勾选上 然后你就可以尝试用chrome浏览器打开markdown文件预览html,采用趁手的编辑器去修改它。 BTW chrome下的插件写起来比想像的要简单,写javascript就是了 现在这篇blog即是我用markdown格式写成的,用到了wordpress的markdown on save扩展。 Update 测试把文件放在dropbox的Public下,修改之后的效果能够立刻在共享链接里看到效果,很完美

  • 很爽的vim motion操作

    在“一组能让你爽出内伤的 Vim motion”里头看到一组这样的vim操作: * ci[ 删除一对 [] 中的所有字符并进入插入模式 * ci( 删除一对 () 中的所有字符并进入插入模式 * ci< 删除一对 中的所有字符并进入插入模式 * ci{ 删除一对 {} 中的所有字符并进入插入模式 * cit 删除一对 HTML/XML 的标签内部的所有字符并进入插入模式 * ci” ci’ ci` 删除一对引号字符 (” 或 ‘ 或 `) 中所有字符并进入插入模式 使用了之后,用vim写php/html感觉效率高了很多。从上面的操作中进一步演化,还能有些实用的组合: * vi[ 选择一对 [] 中的所有字符 * vi( 选择一对 () 中的所有字符 * vi< 选择一对 中的所有字符 * vi{ […]

  • vim的php语法检查

    之前一直是editplus的忠实爱好者,对editplus的使用也是小有心得.自打转向到vim之后,费了很大劲才转换一些习惯,渐渐的脱离了editplus,可见一款趁手的编辑器还是粘性很强的.以前说到的editplus可以和zend studio自带的ZendCodeAnalyzer工具进行整合对php语法进行检测,相当方便.那么怎样用vim实现类似的功能呢?一番搜索,找到了答案: map <C-J> :!php -l %<CR> 这样在vim里面就可以直接用ctrl+j,调用php解析器对当前文档进行语法检查了.当然如果php解析器不在你的路径下的话,那么应该写上全路径,象下面这样: map <C-J> :!c:/php/php -l %<CR> PS:vim的语法美化功能也很方便,只要在程序的第一行,command模式下输入=:1,$,就可以把当前代码排列的井然有序.而editplus则需要另外的工具配合,也能做到这一点. 参考资料:http://www.vim.org/tips/tip.php?tip_id=692

  • vim的的代码折叠

    vim也是有代码折叠功能的,以前就知道,然而毕竟用的不多,这个功能基本上很少用。随着最近和gvim的亲密接触,对代码折叠功能逐渐熟悉起来。有一次打开一段php的代码 — 比如PEAR.php,发现里面的代码自动被折叠了,将代码展开后,可以看到只要代码两边有/*{{{*/和/*}}}*/,就会被自动折叠。仔细搜索配置,其中有一句是重点: foldmethod=marker 这样vim就会自动搜索代码,将{{{和}}}之间的内容折叠起来,而且代码结尾有一段小注释也不是无用的废料: /* vim600: sw=4 ts=4 fdm=marker syn=php */ 这段注释会被vim读取,并自动设置到环境变量里面。 关于代码折叠的用法,只要在vim中输入: :help zo 就可以看到了不少相关的快捷键,需要一定的练习才可以得心应手:) 我的gvim配置内容又增加了: colo zellner set guifont=Courier_New:h11:cANSI nobackup tabstop=4 shiftwidth=4 foldmethod=marker au BufRead * simalt ~x set langmenu=zh_CN.utf-8 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim set guifont=DejaVu\ Sans\ Mono:h12 source $VIMRUNTIME/../_vimrc set encoding=utf-8 set fileencodings=utf-8,chinese,latin-1 if has(“win32”) set fileencoding=chinese else set fileencoding=utf-8 endif […]