Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

僕の.zshrcと.vimrcのおはなし

$
0
0

こんにちは。
締め切り15分前に書き始める系エンジニアのぐりです。

この記事は呉高専エンジニア勉強会 Advent Calendar 2017の11日目の記事です。
昨日の記事はether0x2caさんの学術論文のすゝめでした。
論文の種類、公開されているサイトとその紹介が書かれていて、論文読んでみようかなって思う記事でした。
Slackグループ作ったら是非参加したいですね。

さて、この記事は僕の.zshrc.vimrcのお話です。
それぞれのイチオシの設定とプラグインを紹介していきます。

.zshrc

oh-my-zsh

# Path to your oh-my-zsh installation.exportZSH=/Users/username/.oh-my-zsh

zshの設定の管理にはoh-my-zshを使ってます。
あんまり使いこなしてはないので特にここがいいとは言えません。
お好みで導入して下しあ。

Powerlevel9k

ZSH_THEME="powerlevel9k/powerlevel9k"POWERLEVEL9K_MODE='nerdfont-complete'POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(time dir vcs)POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()POWERLEVEL9K_DISABLE_RPROMPT=truePOWERLEVEL9K_TIME_FORMAT="%D{%m\/%d %H:%M}"POWERLEVEL9K_TIME_FOREGROUND='white'POWERLEVEL9K_TIME_BACKGROUND='background'POWERLEVEL9K_PROMPT_ADD_NEWLINE=truePOWERLEVEL9K_PROMPT_ON_NEWLINE=truePOWERLEVEL9K_RPROMPT_ON_NEWLINE=falsePOWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=""POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="\u25B8 "POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR=''POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR=''

見た目をちょっとイケてる感じにするのはpowerlevel9k
インストールが若干めんどくさいのが玉に瑕ですが、公式のドキュメントが充実してるのでつまずくことはないと思います。
みんなの作例がまとめてあるのでそれを見るのも面白です。
ちなみに僕のはこんな感じです。色々試しましたが、結局シンプルなのに落ち着きました。
Screen Shot 2017-12-11 at 1.49.23.png
lsがきれいになってるのはcolorlsのおかげです。若干表示されるまで時間がかかりますがおすすめです。

alias

aliasv="nvim"aliasg="git"aliasgp="g push"aliasls="colorls -a -sd"aliasvz="v ~/.zshrc"aliasn="nim c -r"aliassoen="source ./env.sh"aliassozh="source /Users/username/.zshrc"aliasbe="bundle exec"aliasrub="rubocop"aliasruba="rubocop --auto-correct"aliasrid="rails ridgepole:dry"aliasrida="rails ridgepole:apply"aliasr="rails"

お次はエイリアス。
よく使うものは最初の一文字でエイリアスをかけてます。

.vimrc

dein

" dein settings {{{" dein自体の自動インストールlet s:cache_home = empty($XDG_CACHE_HOME) ? expand('~/.cache') : $XDG_CACHE_HOMElet s:dein_dir = s:cache_home . '/dein'let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'if!isdirectory(s:dein_repo_dir)call system('git clone https://github.com/Shougo/dein.vim ' . shellescape(s:dein_repo_dir))endiflet&runtimepath= s:dein_repo_dir .",". &runtimepath" プラグイン読み込み&キャッシュ作成let s:toml_file ='~/.dein.toml'let s:lazy_toml_file ='~/.dein_lazy.toml'if dein#load_state(s:dein_dir)call dein#begin(s:dein_dir)call dein#load_toml(s:toml_file)call dein#load_toml(s:lazy_toml_file, {'lazy': 1})call dein#end()call dein#save_state()endif" 不足プラグインの自動インストールif has('vim_starting')&& dein#check_install()call dein#install()endif

暗黒の力を与えられしプラグインマネージャー
その名もdein.vim

以下を参考(コピペ)にして設定しました。
別ファイルに読み込むプラグインをまとめて書いてます。
dein.vimによるプラグイン管理のマイベストプラクティス
NeoBundle から dein.vim に乗り換えたら爆速だった話

syntastic

" syntastic_mode_mapをactiveにするとバッファ保存時にsyntasticが走る" active_filetypesに、保存時にsyntasticを走らせるファイルタイプを指定するletg:syntastic_mode_map = { 'mode': 'passive','active_filetypes': ['ruby'] }letg:syntastic_ruby_checkers = ['rubocop']

rubyのスタイルガイドであるrubocopを、保存時に走らせる用に設定しました。
非同期なのでaleの方が良さげです。
参考
Rubocopをsyntasticを使ってVimから自動実行する

emmet-vmi

letg:user_emmet_settings = {
      \  'lang' : 'ja'
      \}

HTMLが爆速でかけるemmetのvim用プラグイン
emmet-vim

vim-easymotion

letg:EasyMotion_do_mapping =0"Disable default mappings
nmap <Leader>s <Plug>(easymotion-overwin-f2)

画面内の移動がめちゃくちゃ早くなるめちゃくちゃオススメなプラグイン
vim-easymotion。おすすめです。

NERDTree

map <C-n> :NERDTreeToggle<CR>let NERDTreeShowHidden=1

皆さんご存知NERDTree
まあこれの紹介はいいでしょう。

カラースキーマ

" set color schemeletg:hybrid_custom_term_colors =1

目に優しい感じのカラースキーマ
Screen Shot 2017-12-11 at 1.48.06.png

キーバインド

inoremap<C-j><Down>inoremap<C-k><Up>inoremap<C-h><Left>inoremap<C-l><Right>inoremap<C-f><Delete>inoremap<C-d><BS>inoremap<C-e><C-o>$inoremap<C-a><C-o><C-0>nnoremap<SPACE><Nop>
map <SPACE><leader>nnoremap<C-s> :%s/nnoremapj gjnnoremapk gknnoremap gj jnnoremap gk knnoremap s <Nop>nnoremapsj<C-w>jnnoremap sk <C-w>knnoremapsl<C-w>lnnoremapsh<C-w>hnnoremap ; :nnoremap : ;nnoremap<S-h><C-0>nnoremap<S-l> $nnoremap<CR> A<CR><ESC>nnoremap== gg=Gnnoremap<Leader>w :w<CR>nnoremap<Leader>q :wq<CR>

インサートモードでも移動や削除ができるようにしてたり、ペイン間の移動を楽にしてたりしてます。
個人的に一番役に立ったのはこれです。

nnoremap ; :nnoremap : ;

よく使う:をシフトキー無しで押せるようになってます。

以上です。
最後に全コード貼っておきますね。
.zshrc
.vimrc


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>