vim CTRL-Q ver 8.1 では効かないのでバージョンをあげた

WSL, Ubuntu 20.04, vim 環境で、Ctrl-Vがペーストになっており矩形選択モードにならない。

色々調べていたら、Ctrl-Qが使えるかもとのこと

stackoverflow.com

だが、Ctrl-Qしても何も変化がない

調べていたら、8.1.2350 で適用されているとのこと

github.com

自分のパッチバージョンは、2269 だったので入ってなかった。。

> vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Apr 15 2020 06:40:31)
Included patches: 1-2269

vim の最新は8.2なので8.2をインストールする

yoshioka0627.hatenablog.com

> /usr/local/bin/vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct  1 2020 20:27:19)
Included patches: 1-1778
Compiled by yoshi@DESKTOP-MI16RDA
Huge version without GUI.

インストールできた。

f:id:yoshioka627:20201001205724p:plain

矩形選択モード使えるようになった。

ubuntu vim ソースからインストール

Ubuntu 20.04 のvim が8.1。最新のvim 8.2なので最新版を使いたいのでソースからビルドする

> \cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"
> vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Apr 15 2020 06:40:31)
Included patches: 1-2269
Modified by team+vim@tracker.debian.org
Compiled by team+vim@tracker.debian.org
Huge version with GTK3 GUI.

vim インストール参考

www.vim.org

git clone

> git clone --depth=1 git@github.com:vim/vim.git
Cloning into 'vim'...
Warning: Permanently added the RSA host key for IP address '52.69.186.44' to the list of known hosts.
remote: Enumerating objects: 3546, done.
remote: Counting objects: 100% (3546/3546), done.
remote: Compressing objects: 100% (3174/3174), done.
remote: Total 3546 (delta 467), reused 1318 (delta 310), pack-reused 0
Receiving objects: 100% (3546/3546), 14.53 MiB | 6.25 MiB/s, done.
Resolving deltas: 100% (467/467), done.

build

> cd src
> make

error になる

checking whether stack_t has an ss_base field... no
checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... no
checking for tgetent in -lncurses... no
checking for tgetent in -ltermlib... no
checking for tgetent in -ltermcap... no
checking for tgetent in -lcurses... no
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.
Makefile:304: auto/config.mk: No such file or directory
make: *** [Makefile:2056: auto/config.mk] Error 1

ncurses インストール

> sudo apt install libncurses-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
  ncurses-doc
The following NEW packages will be installed:
  libncurses-dev
0 upgraded, 1 newly installed, 0 to remove and 80 not upgraded.
Need to get 339 kB of archives.
After this operation, 2397 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libncurses-dev amd64 6.2-0ubuntu2 [339 kB]
Fetched 339 kB in 2s (164 kB/s)
Selecting previously unselected package libncurses-dev:amd64.
(Reading database ... 55649 files and directories currently installed.)
Preparing to unpack .../libncurses-dev_6.2-0ubuntu2_amd64.deb ...
Unpacking libncurses-dev:amd64 (6.2-0ubuntu2) ...
Setting up libncurses-dev:amd64 (6.2-0ubuntu2) ...
Processing triggers for man-db (2.9.1-1) ...

再ビルド

> make
> sudo make install
> /usr/local/bin/vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct  1 2020 20:27:19)
Included patches: 1-1778
Compiled by hoge
Huge version without GUI.

とりあえずソースからインストールは出来た

wsl Ubuntu 環境でlocalhostにアクセスする

wsl 上でlocalhost をたててもアクセス出来なかったので対応の仕方を調べた

参考にしたページ qiita.com

.wslconfigに設定すればいいらしい

localhostForwarding=true

修正したらwsl の再起動が必要

PS C:\Users\hoge> wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
docker-desktop
docker-desktop-data
PS C:\Users\hoge> wsl -t Ubuntu
> docker run -p 8080:80 nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
d121f8d1c412: Already exists
ebd81fc8c071: Pull complete
655316c160af: Pull complete
d15953c0e0f8: Pull complete
2ee525c5c3cc: Pull complete
Digest: sha256:c628b67d21744fce822d22fdcc0389f6bd763daac23a6b77147d0712ea7102d0
Status: Downloaded newer image for nginx:latest
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
172.17.0.1 - - [30/Sep/2020:11:00:40 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" "-"
2020/09/30 11:00:40 [error] 28#28: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/"
172.17.0.1 - - [30/Sep/2020:11:00:40 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost:8080/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36" "-"

f:id:yoshioka627:20200930200323p:plain
nginx

windows terminal 設定

wsl2環境が出来たので、ターミナルの設定をしてみた。

ターミナルは、windows terminalにします

// This file was initially generated by Windows Terminal 1.3.2651.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.

// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{Ubuntu GUID}",

    // You can add more global application settings here.
    // To learn more about global settings, visit https://aka.ms/terminal-global-settings

    // If enabled, selections are automatically copied to your clipboard.
    "copyOnSelect": false,

    // If enabled, formatted data is also copied to your clipboard
    "copyFormatting": false,

    // A profile specifies a command to execute paired with information about how it should look and feel.
    // Each one of them will appear in the 'New Tab' dropdown,
    //   and can be invoked from the commandline with `wt.exe -p xxx`
    // To learn more about profiles, visit https://aka.ms/terminal-profile-settings
    "profiles":
    {
        "defaults":
        {
            "fontFace": "Cica"
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{Powershell GUID}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{Cmd GUID}",
                "name": "コマンド プロンプト",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{Ubuntu GUID}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory": "//wsl$/Ubuntu/home/USERNAME"
            },
            {
                "guid": "{Azure GUID}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },

    // Add custom color schemes to this array.
    // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
    "schemes": [],

    // Add custom actions and keybindings to this array.
    // To unbind a key combination from your defaults.json, set the command to "unbound".
    // To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
    "actions":
    [
        // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
        // These two lines additionally bind them to Ctrl+C and Ctrl+V.
        // To learn more about selection, visit https://aka.ms/terminal-selection
        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": "paste", "keys": "ctrl+v" },

        // Press Ctrl+Shift+F to open the search box
        { "command": "find", "keys": "ctrl+shift+f" },

        // Press Alt+Shift+D to open a new pane.
        // - "split": "auto" makes this pane open in the direction that provides the most surface area.
        // - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
        // To learn more about panes, visit https://aka.ms/terminal-panes
        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
    ],
    "startOnUserLogin": true,
    "launchMode": "maximized "
}

変更した箇所

プロパティ
defaultProfile Ubuntuのguidに変更
profiles.defaults.fontFace Fontを指定 (ここではCicaフォント)
profiles.list[(ubuntu)].startingDirectory 初期ディレクトリをubuntu側のHOMEディレクトリに変更
startOnUserLogin Windows 起動時に Windows Terminal も起動する
launchMode 起動サイズ maximized

参考にしたサイト docs.microsoft.com qiita.com

自作PCをつくってみた

種類 品名 価格
マザーボード MSI GemingCarbonWifi \26,590
CPU Ryzen 5 3600 BOX \23,980
GPU MSI GeForce GTX 1650 AERO \15,590
SSD Seagate FireCuda 520 \22,980
メモリ XPG Hunter DDR4-3200 16GB 2枚 \12,980
電源 Corsair RM550x \10,973
ケース サーマルテイク \3,410
\116,503

予算は10万円だったけどオーバーした。

いろいろとあった問題

  • Ryzen 3 3300x が欲しかったが1か月待って入荷されないのであきらめた
  • 間違えてmicro ATXのケースを買ってしまった
  • SSDが認識しない問題

ベンチマーク

f:id:yoshioka627:20200926084113j:plain
ベンチマーク

f:id:yoshioka627:20200926120824j:plain

FF14のいい結果出たし、SSDのReadもよかった。いいのが作れた