mecobalamin’s diary

人間万事塞翁が馬

WindowsでLinux commandを動かす

windowslinuxコマンドが動かせるようになってるらしい
WSL: Windows Subsystem for Linuxという
Windows 10でLinuxプログラムを利用可能にするWSLをインストールする(バージョン1803以降対応版):Tech TIPS - @IT

試してみた

インストールは上のサイトを参考にしたらすぐできた
簡単に手順をまとめてみた

1. [スタート]を右クリック
2. [アプリと機能]をクリック
3. [プログラムと機能]をクリック
f:id:mecobalamin:20190527164215p:plain

4. [Windowsの機能の有効化または無効化]をクリック
f:id:mecobalamin:20190527164243p:plain

5. [Windows Subsystem for Linux]にチェックを入れて[OK]をクリック
f:id:mecobalamin:20190527164316p:plain

6. [今すぐ再起動]をクリック
7. [Microsoft Store]で[wsl]を検索
f:id:mecobalamin:20190527164951p:plain

8. [ubuntu]をインストール。ubuntuを選んだが、ディストリビューションは好みで選んだらいいと思う
f:id:mecobalamin:20190527165009p:plain

9. wslを起動してwslで使用するuser名とpasswordを登録する

ここまででターミナルとコマンドが動く

wslの仕組みは理解できてない
Windows Subsystem for Linux - Wikipedia

ディストリビューション・バージョンはこれ

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic


次は使いやすくするために設定をかえる
こっから先は好みの問題
とりあえずshellはデフォルトのbash
エディタはvimが使いたい
設定は.vimrcを変更する

以前はemacsだったけど
今はwindowsatom使ってるし
wslはvimでいいかと宗旨変え

vimではテキストをコピーしたらクリップボードに入って欲しいけど
そのままではうまくいかないっぽいので.vimrcの編集も含めて以下はメモ

30 March 2019追記

クリップボードを有効化するにはこのあとのメモだけではうまく行かず、
vimコンパイルとVcXsrvのインストールをしている
mecobalamin.hatenablog.com
mecobalamin.hatenablog.com

追記ここまで

bashvimの設定ファイルを編集する
.bashrcはあったが、.exrc/.vimrcはhomeには見つからない
vi/vimともに.exrc/.vimrcを読み込んでる
どちらか一方があればよいのか?

profileの読み込み順はこんな感じらしい
[Linux]環境変数の読み込み順番 - Qiita

".vimrc"の編集
初心者向け vimrcの設定方法 - Qiita
Vimの設定ファイルを作る - Qiita
Vim のカスタマイズ 〜 画面表示の設定 〜 - Vim のブログ

" 行番号の表示
set number
" コマンド行を2行にする
set cmdheight=2
" タブをスペースx2
set tabstop=2
" オートインデント
set smartindent
" 対応するカッコの表示
set showmatch
" カーソル行の表示
set cursorline
" クリップボードにコピー
set clipboard=unnamed,autoselect
" 挿入モードでバックスペースで削除できるようにする
set backspace=indent,eol,start
" コードの色分け
sytanx on
" コメントは黄色(デフォルトは青で黒地には見辛い)
hi Comment ctermfg=6

WSL上のvimでクリップボードを共有する方法 - Qiita

vimクリップボードが使えない。。。
ターミナルにlessを使って表示してコピー
vimからクリップボードにコピーする方法を
書いている人もいるけど、うまくいってない
"+clipboard"になるようにbuildするのも方法っぽい

ubuntu初心者なのでいろいろわからん
[Ubuntu] apt-get まとめ - Qiita
vim-jp » Linuxでのビルド方法

$ git clone https://github.com/vim/vim.git

homeにvimディレクトリができる
configを使ってインストール環境を調べる

$ ~/vim/.git/config

エラーのあるところでとまる

で、コンパイラがないとかなんとかエラーが出てるので
コンパイル環境をインストール

ubuntuでbuild環境を構築
【Ubuntu 18.04 LTS Server】gcc, make などの開発ツールをインストールして使う | The modern stone age.

$ sudo apt install build-essential

こんどはなにかライブラリが足りないって

no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library with --with-tlib.

なんでインストール

$ sudo apt-get install ncurses-dev

で、vimのインストール

$ cd ~/vim/
$ ./configure --prefix=$HOME/usr/bin --with-features=huge --with-x=yes --enable-gui=yes --enable-gtk2-check --enable-multibyte -enable-fail-if-missing
$ make
$ make install

やっぱり途中で止まる
ライブラリが足りないみたい

$ sudo apt install libxmu-dev libgtk2.0-dev libxpm-dev

やり直し

$ make distclean
$ rm ~/vim/src/auto/config.cache
$ sudo apt install libxmu-dev libgtk2.0-dev libxpm-dev
$ ./configure --prefix=$HOME/usr/bin --with-features=huge --with-x=yes --enable-gui=yes --enable-gtk2-check --enable-multibyte -enable-fail-if-missing
$ make
$ make install

バージョンの確認

$ vim --version | grep clip
+clipboard         +jumplist          +persistent_undo   +vertsplit
+emacs_tags        +mouse_dec         -sun_workshop      +xterm_clipboard

こうなってればokとのことだけどだけど。。。
クリップボードにコピーできない。。。

一旦ここでペンディング

    • -

19 November 2018追記
コンパイルはできてvimも起動するんだけど、
まだクリップボードには入ってない
なんかvimは仕組みが特殊ぽい

【Linux】クリップボードについて【X Window System】 - Man On a Mission
Vim備忘録 コピペとレジスタ - Man On a Mission

これかな?
https://blog.himanoa.net/entries/20