キーマップ設定
基本的なKeymap設定
個人的にここ数年ずっと使っているKeymap設定を体が覚えてしまってるので、この設定がないと落ち着かない内容
設定ファイルは分割するという方針のもと
.confi/nvim/init/keymap.vim
を作成。 ここの内容は下記の通り
" KeyConfig ""Change <Leader> let g:mapleader = ',' ""Cursol move set whichwrap=b,s,h,l,<,>,[,],~ nnoremap j gj nnoremap k gk nnoremap <down> gj nnoremap <up> gk ""move to other Windows nnoremap s <Nop> "s+hjkl move to window nnoremap sj <C-w>j nnoremap sk <C-w>k nnoremap sl <C-w>l nnoremap sh <C-w>h "s+nptT move to tab nnoremap sn gt nnoremap sp gT nnoremap st :<C-u>tabnew<CR> nnoremap sT :<C-u>Unite tab<CR> "s+sv split window nnoremap ss :<C-u>sp<CR> nnoremap sv :<C-u>vs<CR> "s+qQ kill buffer or window nnoremap sQ :<C-u>q<CR> nnoremap sq :<C-u>bd<CR> ""ESC in insert-mode inoremap jj <ESC> ""No hlsearch with ESC-ESC nnoremap <ESC><ESC> :<C-u>set nohlsearch!<CR> ""Toggle relativenumber nnoremap <F2> :<C-u>setlocal relativenumber!<CR>
設定内容のWindowを開いたり閉じたりはsキーをメインに使ってる。 参考にしたページがなくなってた。
Neovim一番最初の設定
前回は1回目だけ作成するPowerShellファイルを作成 現時点において、
- Neovimはどうにかインストールしている
- OneDriveに設定ファイルの保存場所は作成した
- 初期設定のPowerShellを実施して、XDG関係のフォルダの設定と作成は実施
- Configの場所とOneDriveの設定ファイル保存場所はジャンクションの設定済
の状態になっています。
設定ファイルを作っていこう。
:e ~/.config/nvim/init.vim
で新規ファイルを作成。
:w
でなにはなくともまずは保存
今回の設定ファイルの方針はこの通り
- できるだけ分割する
- プラグインの設定と初期設定は別フォルダに
というわけでフォルダを作ろう
:!mkdir ~/.config/nvim/basic :!mkdir ~/.config/nvim/plugin
:の後ろに!でvim外のコマンド実行。
でもって、それぞれのフォルダから起動時に設定ファイルを読み込むために
init.vimに記載
runtime! basic/*.vim runtime! plugin/*.vim
ここまでやったら
:wq
で保存して終了 もう一度nvimを起動 今度は
:e $MYVIMRC
でinit.vimが開けるようになってるはず。 最初の環境変数の設定と、init.vimの作成に間違いことがこの作業で確認できる。
余計な環境変数なかったら「$M」まで入力してTabキーで$MYVIMRCを補完されるはず。
この記事はここまで。
NeoVimの初期設定
今度はneovim導入。
最近vimの設定を変更することもなく、問題なく使えていて、プラグインを変更したりすることもなく穏やかにすごしていたのですが…
この記事読んだらなにか新しいことしたいなという熱が…
でもって以前みた
neovimのGUIとしてnvuiというのをテスト中。もしかするとこれが最強になるかも?https://t.co/ensWQ32eeK
— 暗黒美無王 dark Vim (@ShougoMatsu) 2021年11月11日
これも気になってたので、久々に環境を色々いじってみようと。
いつもすぐに環境壊す人なので、簡単に復元できることを条件にWindows10でNeovimをいじる環境の構築を検討してみた。
検討内容
といったことを考えたら
設定ファイルの保管場所はOneDriveを使用する
やっぱりOS標準で最初から入っているというのは強い。最初に実行するスクリプトや設定ファイルの大本はここにした。
環境変数大事
実行前に環境変数指定したバッチファイルも考えたけど、結局他のアプリと連携できなくなることが多い、せめてユーザーレベルでの環境変数を設定することで、色々とやりやすいようにした。
やったこと
Windowsでinit.vimの置き場所のデフォルトはこれ
C:\Users\[ユーザー名]\AppData\Local\nvim\init.vim
このフォルダが探しにくい。
~/.config/nvim/init.vim
にしておきたい。ここで~はホームフォルダのことだから
C:\Users\[ユーザー名]\.config\nvim\init.vim
に変更になる。この.configフォルダを使うのは
XDG Base Directory Specification という考え方を元に設定ファイルなどは全部まとめましょうという考え方。日本語訳はXDG Base Directory - ArchWiki なんかが参考になるかも。
Windowsのアプリ管理用のScoopなんかもこの方法を使ってるから.configフォルダができあがってる人もいるかもしれない。
じゃあこのXDGベースにするにはどうするかというと、
XDG_CONFIG_HOME
XDG_CACHE_HOME
XDG_DATA_HOME
の3つの場所を設定してあげればいい。
そのために使うのが環境変数。
普通に設定するなら、「設定」→「システム」→「詳細情報」の画面の下のほうにある「システムの詳細設定」を開き(2022/02/19時点、Windows10 20H2での話)、開いたウィンドウの環境変数をクリック
ユーザー名のところは隠してますけど、最初はTMPの項目まで入ってるはず。
ここに画像にある最後の3つを追加した。
手入力はメンドイし、絶対打ち間違えをいつもやるので、ここはスクリプトを作成してまかせる。その内容がこちら。
1行目:XDG_CONFIG_HOMEの場所を指定
2行目:XDG_CONFIG_HOMEのフォルダを作成
ほんとはフォルダがあるか確認して、なければ作成にすべき
3行目:OneDriveの設定ファイルをおいたフォルダとXDG_CONFIG_HOME内のnvimフォルダをジャンクションにする。ジャンクションにしたら、本体はOneDriveに置いたままだけど、XDG_CONFIG_HOMEにファイルがあるように見える。init.nvimを編集したら、OneDrive側も最新版になるので、いちいちコピーしなくていい。
4行目:XDG_CACHE_HOMEの設定、一時ファイルの場所。swapファイルとかを置く場所として利用してる。ここはユーザーのtempフォルダを利用してる。
7行目:XDG_DATA_HOMEフォルダの場所。ダウンロードしたプラグインとかの置き場。これはOneDriveで保管するものじゃないから、XDG_CONFIG_HOMEとは別にした方がいい。通常は~/.localとのことなので、同じようにした
10行目:ここからの3行が、環境変数の設定。これを実行すると、上に貼った画像の内容が反映される。
こうやって作ったPowerShellファイルを初回に実行することで、必要な環境変数が設定されるし、OneDriveからファイルをコピーする必要もない。
nvimを実行したら、こちらが想定した場所からinit.vimを読み込んでることが確認できた。
今日はここまで。
vimrcの場所について(Windows版)
Windowsのホームの場所は C:\Users\"ユーザー名"\ となっている。 ここに設定ファイルを置くことになるのだけど、 dotファイルや設定ファイルが散らかって非常に気分が良くない。
さらにはgitを使っていると、一つフォルダを作成していて、そこにあるファイルからリンクファイルを作る必要があり、ひと手間かかってる。
かといって、一つのフォルダの中にrcファイルもプラグインとかを保存するvimfilesも保存すると、今度はgitignoreが大変なことになる。
そういう訳で、整理整頓できる。そして環境も復活しやすい方法を探してみた。
vimの起動時にvimrcファイルを指定 gitで管理しているフォルダは"win-config"なので、起動時に gvim -u c:\Users\○○○\win-config_vimrc として起動した。
- メリット ショートカットにオプションをつけるだけ
- デメリット ホームディレクトリにないvimrcを使用している すなわち「set nocompatible」オプションが必要!!! _gvimrcを読み込んでくれない
デメリットが多すぎたので、この方法は諦めた。
vim起動用のバッチファイルを作成。 「win-config」内にgvim起動用のバッチファイルを作成。 このバッチファイルもgitで管理
@echo off REM バッチファイルのある場所をHOMEに設定 set HOME=%CD% REM バッチファイルのある場所から一つ上に移動 pushd %~dp0.. REM 本来のHOMEをMY_HOMEという環境変数に登録 set MY_HOME=%CD% REM Scoopでインストールしたgvimを起動 start C:\Users\「ユーザー名」\scoop\apps\vim-kaoriya\current\gvim.exe REM コマンドプロンプト画面を閉じる exit
環境変数はvim内で反映されるので、その内容をもとにvimrc内でvimfilesやruntimepathを設定
"" runtime path let $MY_VIMRUNTIME = $MY_HOME . '/vimfiles' let $VIMPLUG = $MY_VIMRUNTIME . '/plugged' "" ^=を使うことで、検索ディレクトリを前に追加 set runtimepath^=$MY_VIMRUNTIME set runtimepath^=$VIMPLUG
これで整理しやすい環境ができた
vimとIDE(ポエム)
誰かに読んでほしいわけじゃなく、自分の頭のモヤモヤを形にするために。
いっときPycharmに浮気してました。
使ってみて、IDEの良さってのが少しわかったような気がする。全部環境を用意してもらった状態で、自分の取り組むものに集中できるというのは素晴らしいことなのかもしれない。
でも、vimrcをいじって、環境を作りながら一つ一つ把握していく楽しさがないなぁと。
vim本体やプラグインの内容を把握してる訳じゃないけど、メーカーパソコンに対する自作パソコンみたいに、自分で組み合わせることで詳しくなっていくような楽しさがvimにはある
自分がやりたいこと、学びたいことをやりながらも、色々と環境を作っていくことも楽しみながらやってみたい。
そういうわけでvimに戻ってきました。
Windowsでのソフトインストール
macのHomebrewみたいに、ソフトのダウンロードとインストールを一括してやってくれるのに、chocolatyとscoopがあるけど、どっちもやめた。
chocolatyはアンインストールがうまくいかない場合があり、scoopはアプリのポータブル版があるものしかカタログに載っていない状態。
どちらも中途半端な状態では、併用するのも管理が面倒くさい。
昔やってたUSBメモリにポータブル版を設定したのと同じようにしてみた。
基本は昔の記事の内容。
これとMSYS2を組み合わせて、どのWindows10パソコンでもすぐ使えるようにした。
MSYS2のインストール
ぐぐればどこでも説明は載っているので割愛
とりあえずMSYS2 homepage 書いてある通りにすればいい。
だいぶ楽になった感じ。そしてインストール先をD:\rootとしてCドライブには入れなかった。
ポータブル版のアプリをインストール
ポータブル版はインストールしてフォルダを作成してくれるものや、解凍してできたフォルダをそのままコピーするものもある。root直下にappというフォルダを作成して、そこにアプリごとにフォルダを作成している。現時点でappフォルダに入れてるアプリは下記の通り。
- afxw:キーボード操作のみの二画面ファイラー
- clnch3:Pythonで拡張可能はコマンドラインランチャー
- FastCopy:ファイルコピーのソフト(スリープしても続きができるから使用)
- FirefoxPortable:メインブラウザ
- mupdf:見ることに特化した軽量PDFビューア(解説)
- NewtonPad:thumbsenseを使えるソフトウェア
- nodoka:キーボードリマップソフト。これは手放せない。
- PDF:PDFの追加・削除・回転等の単純アプリをこの中に。
- python:Windows用Pythonをここにインストール(公式から)
- RegistryFinder64:レジストリの確認用アプリ
- Tascher:アプリ切り替えのソフト。キーボードのみでも軽快に動く
- vlc:動画再生ソフト(ダウンロードボタンでzipファイルが選べる
このソフトの起動は起動じのバッチファイルか、クラフトラウンチ(clnch3)を使う。
環境変数とパスの設定をしているから問題なく動く。
@echo on
REM%~d0で実行ファイルの存在するドライブに移動
%~d0
REM%~dp0で実行ファイルの存在するフォルダに移動
cd %~dp0REM 環境変数の設定
set MYBIN=%~d0\root\app
set HOME=%~dp0
set MSYS=winsymlinks:lnkREM 常駐アプリを起動
start "" "%MYBIN%\nodoka\nodoka.exe" -k -c3
start %MYBIN%\Tascher\Tascher.exe
start %MYBIN%\clnch3\clnch.exe
HP Spectre X360の設定
HP Spectra X360 の設定内容のメモ
を、取ろうとしていたのに、時期が遅くなって大事なことをほとんど忘れてしまった。
また、初期化した場合に備えて、できるだけの記録をここに残しておきます。
Spectre X360の設定
購入したのは「HP Spectre x360 - 13-ap0042tu」
初期設定内容
一番問題になるのは、トラックパッドの設定。 デフォルトのドライバーはSynapticの高精細ドライバーになっていない。 これを変更すると、複数本の指での操作が段違いになる。 ドライバーの削除と入れ直しで頑張ったから、成果を見直そうとしたら元に戻ってた……
どういうこと?
とりあえず。高精細対応
1月13日のドライバ 5.5.15.1102にしたら高精細対応になってた。 これは別のドライバを入れた履歴があるから、そうなったのか、今回から高精細になったからかは不明…