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

vim 環境

$
0
0

◎ 概要

vim を使っていて便利だと思うものを記事します。
vim をこれから使ってみよう!という人の参考になれば。
lightline と cica フォントと vim-devicons を入れるだけで、なんとなくかっこいい感じになります。

◎ プラグイン

プラグインURL概要
プラグイン管理deinNeoBundle でも良いし他のパッケージ管理でも良い。最近メジャーなのが dein.vim
非同期処理vimproc取り敢えず入れておく。いろんなプラグインで使用する。
VIM Shellvimshell取り敢えず入れておく。いろんなプラグインで使用する。
インクリメンタル検索fzf.vim最近流行りの fzf で vim をモダンに使う。
統合ユーザインターフェースUnite色々な機能のインターフェースとして使用する。
フォントプログラミング用日本語等幅フォント Cicaプログラミング用フォントなので単純に見やすいのでお薦め。
ステータスラインLightlineステータスラインをきらびやかにする。
アイコンdeviconsアイコンを表示する。
カラースキームmorokaiカラースキーム「morokai」
フルスクリーンvullScreenフルスクリーン表示する。
インデントをハイライトするvim-indent-guidesインデントを可視化する。
git ラッパープラグインvim-fugitivegit のラッパー
git 変更行視覚化vim-gitguttergit の変更点を表示する。
非同期コードチェックALEシンタックスチェックツール
括弧自動補完lexima括弧を自動で保管する。
TOMLvim-tomlTOML のシンタックスハイライトする。
PHP 用補完neocomplete-phpPHP の関数名や変数の補完する。
HTMLemmet-vimHTML のシンタックスと補完をする。
Snippetsneosnippetスニペットを管理する
Snippetsneosnippet-snippetsスニペットを管理する。
Refvim-refPHP Manual を表示する為に使用する。
置換traces.vim結果を確認してから置換する。
C 言語用コンパイラとの連携vim-clangC 言語、C++ の補完をする為に使用する。
Python 用補完jedi-vimPython の関数名や変数の補完する。
チートシートvim-cheatsheetチートシートを表示する為のプラグイン。
メモmemolist.vimメモを作成する為のプラグイン。
ワークスペースvim-workspaceセッションの状態をワークスペースとして保存し、次に vim を起動した際に前回のウィンドウの状態を再現する。

◎ Cheat Sheet

▽ Aliaces

※ プラグインのインストールと設定が必要
コマンド説明
:UuUnite buffer
:UbUnite bookmark
:UfUnite file
:UcUnite file (現在開いているファイルのディレクトリ)
:Cl閉じる
:Ssウィンドウ分割(横)
:Svウィンドウ分割(縦)
:RtTwitter タイムラインリフレッシュ
:PmPHP Manual 表示

▽ Keymap

※ プラグインのインストールと設定が必要
コマンド説明
<silent> tc新規タブページ
<silent> tn次のタブページに移動
<silent> tp前のタブページに移動

▽ プラグインコマンド

※ 設定が必要
コマンド説明
:FilesFZF files ファイル全文検索
:%s;<検索文字列>;<置換文字列>;結果を確認してから置換する
:PosttoTwitterTwitter に POST する
:FriendsTwitterTwitter のタイムラインを表示する
:VullScreenフルスクリーン化
:HonyakuEJ翻訳(英語⇒日本語 Translate)
:HonyakuJE翻訳(日本語⇒英語 Translate)
:GwriteGit ステージにする
:GcommitGit コミット
:GpushGit push
:GpullGit pull
:GblameGit blame

▽ vim オプション

コマンド説明
vim -O2 file1 file2垂直分割で開く
vim -o2 file1 file2水平分割開く
vim +/gorilla file検索かけた状態でファイル開く
vim -R file読み取り専用状態でファイルを開く
vim -d file1 file2差分確認
vim -b gorilla.binバイナリ編集(開いた後に :%!xxd)

▽ その他

コマンド説明
Control + Insertクリップボードにコピー
Shift + Insertクリップボードからペースト

◎ 開発環境構築

vim で開発環境を整えます。
取り敢えず Linux 上での環境を整えてみます。
dein で各プラグインのインストールと設定を行います。

▽ dein.vim インストール

mkdir-p$HOME/.cache/dein &&cd$_;
curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh;
sh ./installer.sh $HOME/.cache/dein;

▽ dein.vim セットアップ

dein.vim 自体の設定

"==============================================================================="dein.vim"===============================================================================if&compatiblesetnocompatible"BeiMprovedendif"Required:setruntimepath+=$HOME/.cache/dein/repos/github.com/Shougo/dein.vim"Required:ifdein#load_state('$HOME/.cache/dein')calldein#begin('$HOME/.cache/dein')"Letdeinmanagedein"Required:calldein#add('$HOME/.cache/dein/repos/github.com/Shougo/dein.vim')"--tomisettingslets:toml_dir=$HOME.'/.vim/rc'lets:toml=s:toml_dir.'/dein.toml'lets:lazy_toml=s:toml_dir.'/dein_lazy.toml'calldein#load_toml(s:toml,      {'lazy': 0})calldein#load_toml(s:lazy_toml, {'lazy': 1})"Required:calldein#end()calldein#save_state()endif"Required:filetypepluginindentonsyntaxenable"Ifyouwanttoinstallnotinstalledpluginsonstartup.ifdein#check_install()calldein#install()endiflets:removed_plugins=dein#check_clean()iflen(s:removed_plugins)>0callmap(s:removed_plugins,"delete(v:val,'rf')")calldein#recache_runtimepath()endif"===============================================================================

dein.vim 用ディレクトリ作成

mkdir-p$HOME/.vim/rc;

dein.vimで管理するプラグインの設定

  • $HOME/.vim/rc/dein.toml に記載する

PHP

プラグインのインストール

#===============================================================================# PHP Plugins#===============================================================================#-- 補完(PHP 用)[[plugins]]repo='violetyk/neocomplete-php.vim'hook_add='''
let g:neocomplete_php_locale = 'ja'
'''#-------------------------------------------------------------------------------#-- HTML[[plugins]]repo='mattn/emmet-vim'#-------------------------------------------------------------------------------#-- Ref[[plugins]]repo='thinca/vim-ref'hook_add='''
let g:ref_phpmanual_path = $HOME . '/.vim/php/php-chunked-xhtml'
'''#-------------------------------------------------------------------------------

PHP マニュアルを vim から参照できるようにする

マニュアルの用意

mkdir-p$HOME/.vim/php &&cd$_;
wget http://jp2.php.net/get/php_manual_en.tar.gz/from/jp.php.net/mirror;tar zxvf php_manual_en.tar.gz

テキストブラウザのインストール

sudo apt install lynx;

使い方

:Ref phpmanual var_dump

補完(PHP)

neocomplete.vim に以下設定を追加

letg:neocomplete_php_locale='ja'

リンター設定

ALE に以下設定を追加

letg:ale_linters={\ 'php':['phpcs','php','phpmd'],\}

C 言語

プラグインのインストール

#===============================================================================# C Language Plugins#===============================================================================[[plugins]]repo='justmao945/vim-clang'hook_add='''
let g:clang_auto = 0
let g:clang_complete_auto = 0
let g:clang_auto_select = 0
let g:clang_use_library = 1
let g:clang_c_completeopt   = 'menuone'
let g:clang_cpp_completeopt = 'menuone'
let g:clang_exec = 'clang'
let g:clang_format_exec = 'clang-format'
let g:clang_c_options = '-std=c11'
let g:clang_cpp_options = '-std=c++1z -stdlib=libc++ -pedantic-errors'
'''

補完(C)

neocomplete.vim に以下設定を追加

if!exists('g:neocomplete#force_omni_input_patterns')letg:neocomplete#force_omni_input_patterns={}endifletg:neocomplete#force_overwrite_completefunc=1letg:neocomplete#force_omni_input_patterns.c='[^.[:digit:] *\t]\%(\.\|->\)'letg:neocomplete#force_omni_input_patterns.cpp='[^.[:digit:] *\t]\%(\.\|->\)\|\h\w*::'

コンパイラやフォーマッタのインストール

sudo apt install clang clang-format

Python

プラグインのインストール

#===============================================================================# Python Plugins#===============================================================================[[plugins]]repo='davidhalter/jedi-vim'on_ft='python'#-------------------------------------------------------------------------------

補完(Python)

neocomplete.vim に以下設定を追加

autocmdFileTypepythonsetlocalomnifunc=jedi#completionsletg:jedi#auto_vim_configuration=0if!exists('g:neocomplete#force_omni_input_patterns')letg:neocomplete#force_omni_input_patterns={}endifletg:neocomplete#force_omni_input_patterns.python='\h\w*\|[^. \t]\.\w*'

jedi のインストール

cd$HOME/.cache/dein/repos/github.com/davidhalter/jedi-vim;
git submodule update --init;

リンター設定

ALE に以下設定を追加

letg:ale_linters={\ 'python':['flake8','mypy'],\}

Flake8 等のインストール

sudo apt install flake8

JavaScript

プラグインのインストール

#===============================================================================# JavaScript Plugins#===============================================================================[[plugins]]repo='billyvg/tigris.nvim'on_ft=['javascript','javascript.jsx']hook_post_update='''
    let g:dein#plugin.build = './install.sh'
'''hook_add='''
let g:tigris#enabled = 1
let g:tigris#on_the_fly_enabled = 1
'''#-------------------------------------------------------------------------------

リンター設定

ALE に以下設定を追加

letg:ale_linters={\ 'javascript':['standard'],\}

standard のインストール

sudo apt install nodejs;sudo apt install npm;sudo npm install standard --global;

Viewing all articles
Browse latest Browse all 5657

Trending Articles



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