※以下macのcommand をctrlに設定しているため海原雄山以外は考慮が必要
windowの操作
やりたいこと |
操作 |
現在のウィンドウを最小化 |
window + 矢印↓ |
iterm2,Windows Terminalの画面分割
やりたいこと |
iterm2(mac) |
Windows Terminal(windows) |
新規タブの作成 |
ctrl + t |
ctrl + shift + t |
タブの複製 |
-(別途設定) |
ctrl + shift + d |
タブを閉じる |
ctrl + w |
ctrl + shift + w |
タブの切り替え |
ctrl + [ |
ctrl + tab |
タブの切り替え(逆方向) |
ctrl + ] |
ctrl + shift + tab |
タブを指定して切り替え |
- |
ctrl + alt + 数値 |
画面を横方向に分割 |
ctrl + d |
alt + shift + + |
画面を縦方向に分割 |
ctrl + shift + d |
alt + shift + – |
分割画面の移動 |
ctrl + [ |
alt + 矢印キー |
分割画面の幅調整 |
- |
alt + shift + 矢印キー |
カーソル位置をいい感じに真ん中へ |
zz |
- |
新規メモテキストファイル作成から保存の流れ
nvim > i mode > 文字打ち込む > esc > :w <textfilename.拡張子 >エンター
基本操作
やりたいこと |
操作 |
v |
ビジュアルモード複数行選択等 |
i |
インサートモード(カーソルの1つ前から挿入開始 |
a |
インサートモード(カーソルの1つ後ろの箇所から挿入開始 |
: |
コマンドモード |
:w |
保存 |
:!! |
ひとつ前のコマンドと同じコマンドを行う |
view <FileName> |
閲覧モードで開く |
.(ドット) |
ノーマルモードで前にやった作業を繰り返してくれる |
削除系・置換
やりたいこと |
操作 |
r |
一文字置換 |
R |
エスケープ押すまで順に置換していく |
x |
一文字削除 |
dd |
1行削除 |
u |
操作取り消し(control+zみたいな |
command + r |
uの取り消し |
dw |
単語の削除 |
2dd |
2行削除 |
rm FileName |
ファイルの削除 |
コピー&ペースト
やりたいこと |
操作 |
yy |
一行コピー |
p |
カーソル下にペースト |
P(大文字) |
現在行にペースト |
ファイル実行(コマンドモード)
やりたいこと |
操作 |
:!<実行したいコマンド> |
(例:python3 test.pyやlsも可能)insertモードでコマンド実行 |
:!! |
ひとつ前のコマンドももう一度実行 |
移動
やりたいこと |
操作 |
:set number |
行番号表示 |
:10 |
10行目に移動 |
$ |
行末 |
0 |
先頭移動 |
gg |
ファイルの先頭に移動 |
G |
ファイルの最後に移動 |
command + G |
移動前に戻る |
^ |
インデントの先頭 |
{ |
段落ごとに移動 |
[ |
セクション毎に移動 |
検索と置換
やりたいこと |
操作 |
:/<検索文字> |
該当したものがハイライトされる |
n |
nextとしてハイライトかかった物モノに順にカーソルがかかる |
R |
一括置換 |
:%s/<変換したい文字>/<変換後の文字>/g |
一括置換 |
:%s/<変換したい文字>/<変換後の文字>/gc |
一括置換を確認しながら行う |
:noh |
ハイライトを消す |
インデント
やりたいこと |
操作 |
o |
選択行の下に空白行追加 |
O(大文字) |
選択行に空白行追加 |
J |
連結したい行にカーソルで下の行と連結 |
shift + > |
インデントの追加 |
Vimでフォルダ構成一覧表示
やりたいこと |
操作 |
:NERDTREE |
フォルダ構成一覧階層表示 |
command + w w |
ファイルに入ってからフォルダ階層に戻る |
command + n |
NERDTreeが開く(ショートカットキー登録済み) |
ファイルの曖昧検索
やりたいこと |
操作 |
vim > FZF |
直下のディレクトリのファイルを曖昧検索できる |
gitコマンドを使う
やりたいこと |
操作 |
:Git blame |
※blameは誰が変更したか確認できるcommand(その他commandも可能) |
gitの差分(+_)を表示
vim-gitgutter入れて保存(:w)するだけで表示される
言語気にせず複数行コメントアウト
やりたいこと |
操作 |
v > gc |
複数行言語に合わせてコメントアウトされる |
tmuxで画面分割(iterm2のみ設定済み)
やりたいこと |
操作 |
tmux |
起動 |
TMUX='' tmux |
セッションの追加(tsnで可能にzshのエイリアス設定済み) |
tns |
TMUX='' tmuxのエイリアスを登録済み |
command + b d |
デタッチ |
tmux ls |
セッションの一覧 |
tmux a -t session名 |
アタッチ |
command+b s 0 or 1 |
セッションの一覧から選択 |
tumux kill-server |
tmuxのシャットダウン |
command + b % |
画面横分割 |
command + b " |
画面上下分割 |
command + b x |
ペイン(画面)の破壊(command dでもok) |
command + b o |
ペイン移動 |
※tmuxをビジュアルモードにしてコピペするは断念(macならいらないね)
zsh
やりたいこと |
操作 |
cat 対象のファイル >> 追記対象のファイル |
ファイルの中身を別ファイルへ追記 |
mv 対象ファイル 変換後の名前 |
ファイル名を変更 |
cp 対象のファイル 複製後のファイル名 |
ファイルの複製 |
ls -t -1 |
lsでファイル表示を更新日時順に1つずつ並べて表示 |
参考
https://www.udemy.com/course/vim-tmux-zsh/learn/lecture/27876468#overview
今後のタスク
Linuxのフォルダ構成(/tmpには再起動したら消えてもいいファイル入れるとか(一時的メモとか
設定ファイル(mac2022-07-23時点)
neovimインストール
vimplugインストール
oh-my-zshのインストール
は同一環境を作るのには必須
zshの設定変更反映
source ~/.zshrc
neovim設定ファイル
view ~/.config/nvim/init.vim
set shell=/bin/zsh
set shiftwidth=4
set tabstop=4
set expandtab
set textwidth=0
set autoindent
set clipboard=unnamed
syntax on
call plug#begin()
Plug 'preservim/nerdtree'
Plug 'ntk148v/vim-horizon'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'neoclide/coc.nvim', {'branch': 'release'}
call plug#end()
" let g:gitgutter_highlight_lines = 1
nnoremap <C-n> :NERDTree<CR>
" 練習としてvim-horizon入れてみた(色変わるだけ)
" if you don't set this option, this color might not correct
" set termguicolors
" colorscheme horizon
" lightline
" let g:lightline = {}
" let g:lightline.colorscheme = 'horizon'
zshの設定ファイル
view ~/.zshrc
alias vi="nvim"
alias vim="nvim"
alias view="nvim -R"
alias tsn="TMUX='' tmux"
setopt no_beep
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
※windows(WSL2>ubuntu-20.04)のみoh-my-zsh入れている(入れてカレントディレクトリ表示
※windowsのwsl2のマウント元のユーザーディレクトリ直下にzshrc設置
※zshrcでailasまとめてる source zshrcで反映
/mnt/c/Users/username/zshrc
/home/username/zshrc
両方に設定済み
※oh-my-zshの影響でディレクトリが表示されなくなることもある(rm -rf .oh-my-zshで手順にそって再インストール)
文字化け対応
windowsでvisual studioで編集したテキストファイルを、wsl2の/home/KaibaraYuuzanに配置したい際に文字化け発生
- :set fenc?
対象のファイルの文字コードを確認(Shift_JISの場合はfileencoding=latin1)
- :e ++enc=shift-jis
shift-jisでファイルを開き直す
- :set fenc=utf-8
文字コードをutf-8に変更する
- :wq
上書き保存してvimを終了する
hacknote参考
Discussion