MBP(はてな)

MacBook Pro,iPhone Xs,React

React開発 vim設定

zenn.dev

オートコンプリーション、オートインポート、インテリセンス
定義へ移動
ファイラー
ファイル検索
ファイル内検索
プラグイン管理

など

control + l(エル)をescにするには、
$ vi .config/nvim/init.vim で作成して、
imap
map
cmap
を追加
NeoVim起動時に、init.vimが読み込まれる。
Vim/Neovimの設定ファイル(.vimrc, init.vim)の書き方を0から一人前まで - Qiita

カーソル位置を復元するには、
$ vi .config/nvim/init.vim して、
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
を追加

Neovim
dwで削除するには、$ vi ~/.config/nvim/maps.vimして、"nnoremap dw vb"_d でコメントアウト
tmux
$ tmux
デフォルトのprefixはcontrol + b
.tmux.conf
prefix + ? でヘルプ表示、qで終了
prefix + s でセッション一覧の表示、j k でカーソル移動、Enterで切り替え

prefix + c で新規ウィンドウの作成
prefix + n or p で次 or 前のウィンドウへ移動
prefix + w でウィンドウ一覧表示、j k でカーソル移動、Enterで切り替え

prefix + % で左右にペイン分割
prefix + ; で直前のペインへ移動
prefix + x して、yでペインの破棄
prefix + z で現在のペインの最大化/復帰
tmuxを必要最低限で入門して使う - Qiita

tmuxチートシート - Qiita



tmuxの使い方 - Qiita


Neovimのセットアップ方法(Mac) - Qiita

$ brew install neovim
$ brew install tmux

$ tmux
$ nvim

init.vimのために必要
$ vi ~/.config/nvim/colors/NeoSolarized.vim
https://github.com/craftzdog/dotfiles-public/tree/master/.config/nvim/colors

$ vi ~/.config/nvim/init.vim
https://github.com/craftzdog/dotfiles-public/blob/master/.config/nvim/init.vim

$ nvim ~/.config/nvim/init.vim で開くと、行がまとまった状態で表示

$ vi ~/.config/nvim/maps.vim
https://github.com/craftzdog/dotfiles-public/blob/master/.config/nvim/maps.vim

control + l(エル)でエスケープを追加
$ vi ~/.config/nvim/maps.vim

imap <C-l> <esc>                                                               
map <C-l> <esc>                                 
cmap <C-l> <C-C>  

gg 先頭行
shift + g 最終行

ss 下に分割
sv 右に分割
スペースを押すたびに反時計回りに分割したウィンドウにカーソル移動
sl(エル) or s→  右のウィンドウ(hjkl)
sh or s←  左のウィンドウ
sj or s↓  下のウィンドウ
sh or s↑  上のウィンドウ

control + a で全て選択

端末クリア
control + l(エル)

deinのインストール

dein.vimのインストール&プラグイン導入 - 丘と水路と橋と火を

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

installer.shがうまく動作すると、「"dein Scripts----」という一文から始まるスクリプトが表示される。
「"End dein Scripts--」という行までをコピーして保管する。
$ vi ~/.vimrcとして.vimrcを開き、コピーしたスクリプトを.vimrcの先頭に挿入する。
$ vimを起動してみる。うまく設定されていればdeinがインストールされる。

"dein Scripts-----------------------------
if &compatible
  set nocompatible               " Be iMproved
endif

" Required:
set runtimepath+=/Users/ユーザー名/.cache/dein/repos/github.com/Shougo/dein.vim

" Required:
call dein#begin('/Users/ユーザー名/.cache/dein')

" Let dein manage dein
" Required:
call dein#add('/Users/ユーザー名/.cache/dein/repos/github.com/Shougo/dein.vim')

" Add or remove your plugins here like this:
"call dein#add('Shougo/neosnippet.vim')
"call dein#add('Shougo/neosnippet-snippets')

  " ~~~ ここからtomlファイルを利用するための設定 ~~~
  " 導入するプラグインを記載したtomlファイルのパスを記載する
   let s:toml_dir  = $HOME . '/.config/nvim/dein'
   let s:toml      = s:toml_dir . '/dein.toml'
   let s:lazy_toml = s:toml_dir . '/dein_lazy.toml'

   " tomlファイルをキャッシュしておくための記述
   call dein#load_toml(s:toml,      {'lazy': 0})
   call dein#load_toml(s:lazy_toml, {'lazy': 1})
  " ~~~ tomlのための設定はここまで ~~~

" Required:
call dein#end()

" Required:
filetype plugin indent on
syntax enable

" If you want to install not installed plugins on startup.
if dein#check_install()
  call dein#install()
endif

"End dein Scripts-------------------------

$ vi ~/.config/nvim/dein/dein.toml

[[plugins]]
repo = 'Shougo/vimproc.vim'

[[plugins]]
repo = 'neoclide/coc.nvim'
build = './install.sh nightly'

$ vim で起動してインストール

$ tmux を起動せず、$ nvim するとなぜか背景が赤くなる

$ vim ~/.config/nvim/dein/lazy.toml

# dein.vim command
[[plugins]]
repo = 'haya14busa/dein-command.vim'
on_cmd = 'Dein'

[[plugins]]
repo = 'elzr/vim-json'
on_ft = ['json']

[[plugins]]
repo = 'yuezk/vim-js'
on_ft = ['javascript', 'javascript.jsx']

[[plugins]]
repo = 'maxmellon/vim-jsx-pretty'
on_ft = ['javascript', 'javascript.jsx']


coc.nvimの導入

Vimにcoc.nvimを入れたら便利すぎて感動したっていう話 - Qiita

dein.vimのインストール自体にハマってしまったメモ - Qiita

NeoVim+coc.nvimでLSPによるGoの補完を実現する - Qiita

$ vi ~/.config/nvim/dein/dein.toml

[[plugins]]
repo = 'Shougo/vimproc.vim'

[[plugins]]
repo = 'neoclide/coc.nvim'
build = './install.sh nightly'

$ vim で起動してインストール
エラーになるので、
$ vim で起動して
:call coc#util#install()
でエラーが消える

$ vi hello.js して、
var math = Math と入力するとリアルタイムに補完候補が表示される

型チェック(coc.nvim)

type Note = {
  _id: string,
  body: string,
  title: string,
  createdAt: number,
  updatedAt: number,
  tags: [string]
}

const note: Note = {
  _id: 'hige',
  body: '# hello',
  title: 'example note',
  createdAt: 'moji'
}
console.log('note:', note)



VimFiler

vimfilerとUniteでVimをファイラとして使用する方法 - karakaram-blog

vimfilerとUniteでVimをファイラとして使用する方法 - karakaram-blog

$ vi ~/.config/nvim/dein/dein.toml

# dein.vim command
[[plugins]]
repo = 'Shougo/vimproc.vim'

[[plugins]]
repo = 'neoclide/coc.nvim'
build = './install.sh nightly'

[[plugins]]
repo = 'Shougo/vimfiler.vim'

[[plugins]]
repo = 'Shougo/unite.vim'

$ vim でインストール
$ vim で起動して、:VimFiler

$ vim して、sfでVimFilerが起動するように
$ vi .vimrc して、追加する

vim + tmuxでVSCodeっぽい開発環境を作る. MicrosoftのVisual Studio… | by TAKUYA | 週休7日で働きたい

" vimfiler
nmap sf :VimFilerBufferDir<Return>
nmap sF :VimFilerExplorer -find<Return>
nmap sb :Unite buffer<Return>
let g:vimfiler_as_default_explorer = 1
let g:vimfiler_safe_mode_by_default = 0
let g:vimfiler_enable_auto_cd = 0
let g:vimfiler_tree_leaf_icon = ''
let g:vimfiler_tree_opened_icon = '▾'
let g:vimfiler_tree_closed_icon = '▸'
let g:vimfiler_marked_file_icon = '✓'


NeoVimでカーソルの位置を復元
$ nvim ~/.config/nvim/maps.vim して追加。

  autocmd BufReadPost *
    \ if line("'\"") > 0 && line("'\"") <= line("$") |
    \   exe "normal g`\"" |
    \ endif