闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

Spacemacs 中使用 git blame 功能

2019-03-26 约 1 分钟读完 搬砖秘籍
通常在使用vscode 的时候,会安装一个git blame的插件,这个插件的好处是可以方便的看到这个代码是谁写的(坑是谁埋的),切换到Spacemaces 之后一直也想要这样的功能,后来发现Spacemacs 是自带这个git blame 的。 使用方法 使用快捷键 SPC - g - b 目前只能满足我的个人需求,但还是不如vscode好看,后面有时间再折腾,本文章未完待续。

ITerm2 中运行 Emacs

2019-01-26 约 1 分钟读完 搬砖秘籍
通常Emacs是在GUI环境中运行的,一些特定条件下是需要在命令行中运行。 命令如下 emacs --no-window-system 或者 emacs -nw

Vim 配置 Catgs 用于前端开发

2019-01-19 约 1 分钟读完 搬砖秘籍
之前我一直以为ctags是使用Vim开发C++专用,竟然错过了这么强大的工具。看来凡事不能先入为主,以后要引以为戒。 安装 universal-ctags universal-ctags 是一个现代化的ctag实现,本文只介绍使用Vim的安装方法 brew install --HEAD universal-ctags/universal-ctags/universal-ctags 其他系统请参考项目主页:ctags 每次生成ctags文件都要手动run一次命令,这一点也不Vim,当然也有解决方法。 安装vim-gutentags vim-gutentags是一个用于自动生成tag文件的插件。使用vim-plug安装 Plug 'ludovicchabant/vim-gutentags' 配置 如果只是介绍安装方法,那就必要写这篇文章了,安装完成之后还是要针对前端开发的特点手动调教一下。首先我们在任何目录打开文件,都会在目录下生成ctags文件,这样的话对项目代码有入侵性,并不推荐,建议把tag文件写在特定的目录里。可以做如下设置: let g:gutentags_cache_dir = '~/.cachetags' 这样生成的tags文件会统一放在~/.cachetags目录下。另外默认生成的文件名叫tags,也可以根据个从喜好修改: let g:gutentags_ctags_tagfile = '.tags' 这样生成的文件是隐藏文件。另外一个很纠结的问题是有些文件我们并不想让他们生成tags文件,比如node_modules下文件,还有.git目录下的文件。这里有个取巧的方法是根据前文《Vim配置使用FZF》中的方法,把ctags获取文件列表的命令改成ripgrep的搜索,这样就可以自动忽略.gitignore下的文件。如下: let g:gutentags_file_list_command = 'rg --files' 另外有的文件我们也不想让其生成ctags文件,比如*.md、*.svg文件,可以通过universal-ctags的全局配置来配置,这里要注意的是universal-ctags默认的全局配置文件已经不是~/.ctags 和 ./.ctags,而是在 ~/.ctags.d/*.ctags 和 ./.ctags.d/*.ctags。比如我的全局配置文件放在~/.ctags.d/ignore.ctags。简要配置如下 : --exclude=node_modules --exclude=gulp --exclude=.git --exclude=*.md --exclude=*.svg 结合FZF 记得我们在文章《Vim配置使用FZF》中的介绍,FZF是支持ctags的,所以可以做个快捷键配置,如下: map <leader>t :Tags<CR> 这样就可以方便的使用ctrl-]和ctrl-o来进行tag跳转了。 最后分享我的Vim配置:sailor103/neovim-mac,欢迎fork,我感觉还挺好用的:-)

Spacemacs Homebrew 安装报错Unknown command linkapps

2019-01-19 约 1 分钟读完 搬砖秘籍
在前文《重新开始学EMACS》中我给自己立下了一个Flag要通过Spacemacs项目来学习Emacs,但在安装就遇到了困难。官方推荐的安装方法是这样的: brew tap d12frosted/emacs-plus brew install emacs-plus brew linkapps emacs-plus 这是要先安装Emacs,但在执行brew linkapps emacs-plus时发现无法成功,报错: Unknown command: linkapps 解决方法 linkapps是homebrew老版本的一个方法,新版本已经取消,解决方法也很简单。 ln -s /usr/local/Cellar/emacs-plus/*/Emacs.app/ /Applications/

Vim配置使用FZF

2019-01-19 约 1 分钟读完 搬砖秘籍
使用Vim已经有了一段时间,虽然是和VS Code配合使用,不过还是有很多痛点。最近好不容易有了点时间,做了一个简单的折腾。今天的主题是使用FZF,这是目前来折腾的比较强大的一个插件了。 FZF是用来做什么的? fzf是一个用来做模糊搜索的强大工具,其实它不是专用于Vim的,但有人专门开发了一个插件fzf.vim,用于结合Vim与FZF,因此与搜索相关的内容都可以交给FZF了。 安装 有2种安装方法,一种是先在系统安装FZF再在Vim中安装fzf.vim插件。配置如下: Plug '/usr/local/opt/fzf' Plug 'junegunn/fzf.vim' 上面 /usr/local/opt/fzf 是使用Homebrew安装的就是这个目录,其他系统请配置成特定的目录。另外一种方式是本机不安装fzf,直接在Vim中安装。方法如下: Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf.vim' PS:根据本人折腾下来的经验来看,使用Mac请选择第一种。直接使用Homebrew安装 brew install fzf 其他系统请自己斟酌。安装完成之后,让我们看看fzf.vim都支持哪些搜索。 默认支持的功能 :Files [PATH] //Files (similar to :FZF) :GFiles [OPTS] //Git files (git ls-files) :GFiles? //Git files (git status) :Buffers //Open buffers :Colors //Color schemes :Ag [PATTERN] //ag search result (ALT-A to select all, ALT-D to deselect all) :Rg [PATTERN] //rg search result (ALT-A to select all, ALT-D to deselect all) 继续阅读

使用vim-rooter让Vim支持工程目录

2019-01-19 约 1 分钟读完 搬砖秘籍
众所周知,Vim是一个高效的编辑工具,因为其专注编辑相关的工作,所以一些方面很难与IDE相对比。不过为了达到IDE的复杂功能,有很多人做了努力,开发了插件,虽不能与IDE相抗衡,但在某些情况下已经足够满足相关工作。 今天想和大家分享的是一个简单的小插件:vim-rooter,这个插件的功能也很简单,就是让你每次使用类似NerdTree这中插件的时候,自动把工作目录设置为当前的工程目录。 安装 使用vim-plug,目前本人使用的是这个。 Plug 'airblade/vim-rooter' 如果你没有特殊要求的话,使用默认配置就好。 原理 个人理解,其会查找你当前打开文件的目录,找最近一层的目录中带有.git、.svn(这个也可以自己设置),然后将其设置为Vim的工作目录。 上面的原理是我猜的。

重新开始学EMACS

2019-01-18 约 1 分钟读完 搬砖秘籍
之前一直使用Vim+VSCode做为我的开发编辑器,现在想换一下,立一个Flag。 Why Vim Vim的确是我目前用过的最好用的编辑器,没有之一,轻量效率高,并且它的键位你熟悉了之后,用其他的编辑器都会不习惯。目前我用过的所有的编辑器,很多都集成了Vim模式,但都没有Vim做的好。 Why VSCode 为什么又要结合VSCode呢?因为好用。太简单了,集成了超多的工具。并且超级多的插件可以一键安装,超级方便。这不就是一款好产品吗? Why EMACS 想学函数式编辑 Vim专注于文本编辑,但其扩展的成本太高了。 有了Spacemacs 一点想法 学习成本低的产品一定是效率高的吗?可以说是,也可以说不是。比如我目前正在用的五笔输入法。所以从Spacemacs入手,结合了Vim+Emacs,坚持一下,万一LISP可以给我惊喜。