やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

vim 8.1 クリップボードにコピーできるバイナリをビルドする

 aptからインストールできる奴はクリップボードにコピーできないので。

手順

  1. バージョン確認
  2. インストール

 スクリプトにまとめたのが以下。

install_vim.sh

#!/bin/bash
set -Ceu
#-----------------------------------------------------------------------------
# install_vim.sh
# クリップボードが使えるvimをビルド&インストールする。
#   `sudo apt install -y vim`でインストールしたvimはクリップボードが使えない。
#   `vim --version | grep 'clipboard'`で調べると`-clipboard`となっている。これが`+clipboard`である必要がある。
#   そのためにはソースコードからビルドオプションを指定してビルドしてやる必要がある。
# 作成日時: 2019-03-18 09:25:50
# 確認時バージョン: vim 8.1.1017 2019-03-18 https://github.com/vim/vim
# http://note.kurodigi.com/vim-selfbuild/
#-----------------------------------------------------------------------------
# ビルドに必要なツールをインストールする
InstallBuildTools() {
    # build-depを使ってビルドツールをインストールしようとしたが失敗した(E: sources.list に 'ソース' URI を指定する必要があります)
    # `sudo apt build-dep`で開発ツールをインストールするために`deb-src`のコメントアウトを解除する
    # sudo sed -i -e 's/#deb-src /deb-src /g' /etc/apt/sources.list
    # ビルドツールをインストールする
    # sudo apt build-dep vim
    # `deb-src`がないと次のエラーが出る。 E: sources.list に 'ソース' URI を指定する必要があります
    # それでもダメな場合は直接指定がある。今回はダメだった。
    # `deb-src`をコメントアウトする
    # sed -i -e 's/deb-src /#deb-src /g' /etc/apt/sources.list

    # build-depを使わずにビルドツールをインストールするなら以下。
    sudo apt install -y git gettext libtinfo-dev libacl1-dev libgpm-dev build-essential
    # gvimをビルドするなら以下も。
    # sudo apt install -y libxmu-dev libgtk2.0-dev libxpm-dev
    # perl, python, python3, ruby拡張を使うなら以下も。
    sudo apt install -y libperl-dev python-dev python3-dev ruby-dev
    # Lua拡張を使うなら以下も。(バージョンは`apt search lua[0-9]+.+`で検索して最新を使う)
    # 最新は`lua5.3 liblua5.3-dev`だったがこれを入れて`sudo ./configure ...`すると以下のように怒られる。vimで参照するのは5.1らしい。LuaJITのほうが5.1だから? LuaJITの最新は5.1。
    # checking if lua.h can be found in /usr/include/lua5.1... no
    # configure: error: could not configure lua
    sudo apt install -y lua5.1 liblua5.1-dev
    # LuaJITのLua拡張を使うなら以下も。(バージョンは`apt search luajit`で検索して最新を使う)
    sudo apt install -y luajit libluajit-5.1
    # Tcl/Tk拡張を使うなら以下も。
    sudo apt install -y tk tk-dev tcl tcl-dev

    # ソースコード修正するなら以下も。
    # sudo apt install -y autoconf automake cproto
}
Download() {
    mkdir -p /tmp/work
    cd /tmp/work
    git clone https://github.com/vim/vim.git
    cd vim
}
Build() {
    cd /tmp/work/vim
    # +clipboard
    # https://qiita.com/Nikkely/items/7bfa4e71a6eb1e3d7bed
    # ` --with-luajit`からは独自に追加したもの
    sudo ./configure --with-features=huge \
     --with-x \
     --enable-multibyte \
     --enable-luainterp=dynamic \
     --enable-gpm \
     --enable-cscope \
     --enable-fontset \
     --enable-fail-if-missing \
     --prefix=/usr/local \
     --enable-pythoninterp=dynamic \
     --enable-python3interp=dynamic \
     --enable-rubyinterp=dynamic \
     --enable-gui=auto \
     --enable-gtk2-check \
     --with-luajit \
     --enable-perlinterp=dynamic \
     --enable-tclinterp=dynamic \
     --enable-terminal
    sudo make
    /tmp/work/vim/src/vim --version
    # インストールはしない。Debパッケージ作成してインストールするから
#  sudo make install
}
# Debパッケージ化する
Package() {
    cd /tmp/work/vim
    # Debパッケージ作成ツールcheckinstallをインストールする
    sudo apt install -y build-essential checkinstall
    # http://note.kurodigi.com/debpackage/
    # https://sites.google.com/site/teyasn001/ubuntu-13-04/checkinstall
    local log=$(sudo checkinstall -y --fstrans=no --install=no)
#  sudo dpkg -i "${pkgname}"
    # ログの最後のほうに`dpkg -i vim_20190318-1_armhf.deb`のようにファイル名とインストールコマンドが出る。これを抜き出して実行する。
#  eval $(echo "$log" | tail -n 12 | grep 'dpkg -i ')
    # と思ったが、勝手にインストールされていた
    # vim --version

# https://teratail.com/questions/55920
# tar: ./READMEdir/vimdir.info: write 不能: デバイスに空き領域がありません
# /tmp, /var/tmp, /var/logのサイズを増やすと解決する
# $ sudo leafpad /etc/fstab
# tmpfs /tmp            tmpfs   defaults,size=1024m,noatime,mode=1777      0       0
# tmpfs /var/tmp        tmpfs   defaults,size=128m,noatime,mode=1777      0       0
# tmpfs /var/log        tmpfs   defaults,size=128m,noatime,mode=0755      0       0
# それでもダメなら再起動してからcheckinstallし直すと成功する
    # 言語拡張を使うにはvimプラグインを導入する必要がある。
    # LSP(Language Server Protocol)
    #   コードエディタの便利機能。自動補完、定義ジャンプ、ドキュメントのホバー表示など。
    # https://kashewnuts.github.io/2019/01/28/move_from_jedivim_to_vimlsp.html
    # https://kashewnuts.github.io/2018/08/22/jedivim_memo.html
}
ColorScheme() {
    mkdir ~/.vim
    cd ~/.vim
    mkdir colors
    #ColorScheme_murphy
    ColorScheme_molokai
    #ColorScheme_moonfly
}
ColorScheme_murphy() {
    # デフォルトならmurphyが見やすい
    [[ -z $(cat ~/.vimrc | grep '^colorscheme .*$') ]] && echo 'colorscheme murphy' >> ~/.vimrc || sed -i -e 's/^colorscheme .*$/colorscheme murphy/g' ~/.vimrc
}
ColorScheme_molokai() {
    # molokaiインストール
    cd /tmp/work
    git clone https://github.com/tomasr/molokai
    mv /tmp/work/molokai/colors/molokai.vim ~/.vim/colors/
    rm -Rf /tmp/work/molokai
    #sed -i -e 's/^colorscheme .*$/colorscheme molokai/g' "~/.vimrc"
    [[ -z $(cat ~/.vimrc | grep '^colorscheme .*$') ]] && echo 'colorscheme molokai' >> ~/.vimrc || sed -i -e 's/^colorscheme .*$/colorscheme molokai/g' ~/.vimrc
    # molokai.vimのコメントが暗すぎる。以下のように変更
    # "   hi Comment         ctermfg=59
    #    hi Comment         ctermfg=245
}
ColorScheme_moonfly() {
    # moonflyインストール
    # https://github.com/bluz71/vim-moonfly-colors
    # http://colorswat.ch/vim/schemes/moonfly
    git clone https://github.com/bluz71/vim-moonfly-colors
    mv /tmp/work/vim-moonfly-colors/colors/moonfly.vim ~/.vim/colors/
    mv /tmp/work/vim-moonfly-colors/autoload/**/* ~/.vim/autoload/
    mv /tmp/work/vim-moonfly-colors/colors/moonfly.vim ~/.vim/colors/
    rm -Rf /tmp/work/vim-moonfly-colors
    [[ -z $(cat ~/.vimrc | grep '^colorscheme .*$') ]] && echo 'colorscheme moonfly' >> ~/.vimrc || sed -i -e 's/^colorscheme .*$/colorscheme moonfly/g' ~/.vimrc
}
Run() {
    InstallBuildTools
    Download
    Build
    ColorScheme
# 以下は実行しない。
#  . ~/root/work/record/pc/reference/manual/raspbian/AutoInstall/src/install_vim_plugin.sh
#  VimPluginManager
}
Run

1. バージョン確認

 vimだとヤンクしたときクリップボードにコピーできない。

$ vim --version | grep clipboard 
-clipboard       +job             +path_extra      +user_commands
+eval            +mouse_dec       +statusline      -xterm_clipboard

 -clipboardでなく+clipboardとなっている必要がある。これはビルドし直す必要がある。

2. インストール

  1. 依存ツール
  2. vim

2-1. 依存ツール

sudo apt install -y git gettext libtinfo-dev libacl1-dev libgpm-dev build-essential
sudo apt install -y libperl-dev python-dev python3-dev ruby-dev

 以下、任意で拡張も。

# Lua拡張を使うなら以下も。(バージョンは`apt search lua[0-9]+.+`で検索して最新を使う)
sudo apt install -y lua5.3 liblua5.3-dev
# LuaJITのLua拡張を使うなら以下も。(バージョンは`apt search luajit`で検索して最新を使う)
sudo apt install -y luajit libluajit-5.1
# Tcl/Tk拡張を使うなら以下も。
sudo apt install -y tk tk-dev tcl tcl-dev

2-2. vim

  1. ソースコード入手
  2. ビルド
  3. パッケージ化&インストール
  4. カラースキーマ

 Vimプラグインは難しそうなのでやめた。

2-2-1. ソースコード入手

Download() {
    mkdir -p /tmp/work
    cd /tmp/work
    git clone https://github.com/vim/vim.git
    cd vim
}

2-2-2. ビルド

Build() {
    cd /tmp/work/vim
    # +clipboard
    # https://qiita.com/Nikkely/items/7bfa4e71a6eb1e3d7bed
    # ` --with-luajit`からは独自に追加したもの
    sudo ./configure --with-features=huge \
     --with-x \
     --enable-multibyte \
     --enable-luainterp=dynamic \
     --enable-gpm \
     --enable-cscope \
     --enable-fontset \
     --enable-fail-if-missing \
     --prefix=/usr/local \
     --enable-pythoninterp=dynamic \
     --enable-python3interp=dynamic \
     --enable-rubyinterp=dynamic \
     --enable-gui=auto \
     --enable-gtk2-check \
     --with-luajit \
     --enable-perlinterp=dynamic \
     --enable-tclinterp=dynamic \
     --enable-terminal
    sudo make
    /tmp/work/vim/src/vim --version
    # インストールはしない。Debパッケージ作成してインストールするから
#  sudo make install
}

2-2-3. パッケージ化&インストール

# Debパッケージ化する
Package() {
    cd /tmp/work/vim
    # Debパッケージ作成ツールcheckinstallをインストールする
    sudo apt install -y build-essential checkinstall
    # http://note.kurodigi.com/debpackage/
    # https://sites.google.com/site/teyasn001/ubuntu-13-04/checkinstall
    local log=$(sudo checkinstall -y --fstrans=no --install=no)
    sudo dpkg -i "${pkgname}"
    # ログの最後のほうに`dpkg -i vim_20190318-1_armhf.deb`のようにファイル名とインストールコマンドが出る。これを抜き出して実行する。
#  eval $(echo "$log" | tail -n 12 | grep 'dpkg -i ')
    # と思ったが、勝手にインストールされていた
    # vim --version
}

 以下のようなエラーが出ることがある。これは/ver/log, /ver/tmpの容量を増やすことで解決する。

tar: ./READMEdir/vimdir.info: write 不能: デバイスに空き領域がありません
  1. /etc/fstab/ver/log, /ver/tmpの容量を増やす
  2. 再起動してからcheckinstallし直すと成功する
$ sudo leafpad /etc/fstab
tmpfs /tmp            tmpfs   defaults,size=1024m,noatime,mode=1777      0       0
tmpfs /var/tmp        tmpfs   defaults,size=128m,noatime,mode=1777      0       0
tmpfs /var/log        tmpfs   defaults,size=128m,noatime,mode=0755      0       0

 インストールできたか確認する。

$ which vim
/usr/local/bin/vim
$ ls -l /usr/local/bin/vim
-rwxr-xr-x 1 root staff 2464028  318 13:12 /usr/local/bin/vim

2-2-4. カラースキーマ

 molokaiがよく聞く。総合的に見やすいほう。だが、コメントや(,)が暗すぎて見えない。

ColorScheme() {
    mkdir ~/.vim
    cd ~/.vim
    mkdir colors
    #ColorScheme_murphy
    ColorScheme_molokai
    #ColorScheme_moonfly
}
ColorScheme_murphy() {
    # デフォルトならmurphyが見やすい
    [[ -z $(cat ~/.vimrc | grep '^colorscheme .*$') ]] && echo 'colorscheme murphy' >> ~/.vimrc || sed -i -e 's/^colorscheme .*$/colorscheme murphy/g' ~/.vimrc
}
ColorScheme_molokai() {
    # molokaiインストール
    cd /tmp/work
    git clone https://github.com/tomasr/molokai
    mv /tmp/work/molokai/colors/molokai.vim ~/.vim/colors/
    rm -Rf /tmp/work/molokai
    #sed -i -e 's/^colorscheme .*$/colorscheme molokai/g' "~/.vimrc"
    [[ -z $(cat ~/.vimrc | grep '^colorscheme .*$') ]] && echo 'colorscheme molokai' >> ~/.vimrc || sed -i -e 's/^colorscheme .*$/colorscheme molokai/g' ~/.vimrc
    # molokai.vimのコメントが暗すぎる。以下のように変更
    # "   hi Comment         ctermfg=59
    #    hi Comment         ctermfg=245
}
ColorScheme_moonfly() {
    # moonflyインストール
    # https://github.com/bluz71/vim-moonfly-colors
    # http://colorswat.ch/vim/schemes/moonfly
    git clone https://github.com/bluz71/vim-moonfly-colors
    mv /tmp/work/vim-moonfly-colors/colors/moonfly.vim ~/.vim/colors/
    mv /tmp/work/vim-moonfly-colors/autoload/**/* ~/.vim/autoload/
    mv /tmp/work/vim-moonfly-colors/colors/moonfly.vim ~/.vim/colors/
    rm -Rf /tmp/work/vim-moonfly-colors
    [[ -z $(cat ~/.vimrc | grep '^colorscheme .*$') ]] && echo 'colorscheme moonfly' >> ~/.vimrc || sed -i -e 's/^colorscheme .*$/colorscheme moonfly/g' ~/.vimrc
}

参考情報

vimビルドオプション一覧

# ソースコード取得
$ cd /tmp/work
$ git clone https://github.com/vim/vim.git
$ cd vim

# ビルドのオプションを参照する
$ ./configure --help
`configure' configures this package to adapt to many kinds of systems.

Usage: auto/configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

X features:
  --x-includes=DIR    X include files are in DIR
  --x-libraries=DIR   X library files are in DIR

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-fail-if-missing    Fail if dependencies on additional features
     specified on the command line are missing.
  --disable-darwin        Disable Darwin (Mac OS X) support.
  --disable-smack    Do not check for Smack support.
  --disable-selinux      Do not check for SELinux support.
  --disable-xsmp          Disable XSMP session management
  --disable-xsmp-interact Disable XSMP interaction
  --enable-luainterp=OPTS      Include Lua interpreter.  default=no OPTS=no/yes/dynamic
  --enable-mzschemeinterp      Include MzScheme interpreter.
  --enable-perlinterp=OPTS     Include Perl interpreter.  default=no OPTS=no/yes/dynamic
  --enable-pythoninterp=OPTS   Include Python interpreter. default=no OPTS=no/yes/dynamic
  --enable-python3interp=OPTS  Include Python3 interpreter. default=no OPTS=no/yes/dynamic
  --enable-tclinterp=OPTS      Include Tcl interpreter. default=no OPTS=no/yes/dynamic
  --enable-rubyinterp=OPTS     Include Ruby interpreter.  default=no OPTS=no/yes/dynamic
  --enable-cscope         Include cscope interface.
  --disable-netbeans      Disable NetBeans integration support.
  --disable-channel       Disable process communication support.
  --enable-terminal       Enable terminal emulation support.
  --enable-autoservername Automatically define servername at vim startup.
  --enable-multibyte      Include multibyte editing support.
  --disable-rightleft     Do not include Right-to-Left language support.
  --disable-arabic        Do not include Arabic language support.
  --disable-farsi         Deprecated.
  --enable-hangulinput    Include Hangul input support.
  --enable-xim            Include XIM input support.
  --enable-fontset        Include X fontset output support.
  --enable-gui=OPTS       X11 GUI. default=auto OPTS=auto/no/gtk2/gnome2/gtk3/motif/athena/neXtaw/photon/carbon
  --enable-gtk2-check     If auto-select GUI, check for GTK+ 2 default=yes
  --enable-gnome-check    If GTK GUI, check for GNOME default=no
  --enable-gtk3-check     If auto-select GUI, check for GTK+ 3 default=yes
  --enable-motif-check    If auto-select GUI, check for Motif default=yes
  --enable-athena-check   If auto-select GUI, check for Athena default=yes
  --enable-nextaw-check   If auto-select GUI, check for neXtaw default=yes
  --enable-carbon-check   If auto-select GUI, check for Carbon default=yes
  --disable-gtktest       Do not try to compile and run a test GTK program
  --disable-icon-cache-update        update disabled
  --disable-desktop-database-update  update disabled
  --disable-largefile     omit support for large files
  --disable-acl           No check for ACL support.
  --disable-gpm           Don't use gpm (Linux mouse daemon).
  --disable-sysmouse      Don't use sysmouse (mouse in *BSD console).
  --disable-nls           Don't support NLS (gettext()).

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-mac-arch=ARCH    current, intel, ppc or both
  --with-developer-dir=PATH    use PATH as location for Xcode developer tools
  --with-local-dir=PATH   search PATH instead of /usr/local for local libraries.
  --without-local-dir     do not search /usr/local for local libraries.
  --with-vim-name=NAME    what to call the Vim executable
  --with-ex-name=NAME     what to call the Ex executable
  --with-view-name=NAME   what to call the View executable
  --with-global-runtime=DIR    global runtime directory in 'runtimepath', comma-separated for multiple directories
  --with-modified-by=NAME       name of who modified a release version
  --with-features=TYPE    tiny, small, normal, big or huge (default: huge)
  --with-compiledby=NAME  name to show in :version message
  --with-lua-prefix=PFX   Prefix where Lua is installed.
  --with-luajit           Link with LuaJIT instead of Lua.
  --with-plthome=PLTHOME   Use PLTHOME.
  --with-python-command=NAME  name of the Python 2 command (default: python2 or python)
  --with-python-config-dir=PATH  Python's config directory (deprecated)
  --with-python3-command=NAME  name of the Python 3 command (default: python3 or python)
  --with-python3-config-dir=PATH  Python's config directory (deprecated)
  --with-tclsh=PATH       which tclsh to use (default: tclsh8.0)
  --with-ruby-command=RUBY  name of the Ruby command (default: ruby)
  --with-x                use the X Window System
  --with-gnome-includes=DIR Specify location of GNOME headers
  --with-gnome-libs=DIR   Specify location of GNOME libs
  --with-gnome            Specify prefix for GNOME files
  --with-motif-lib=STRING Library for Motif
  --with-tlib=library     terminal library to be used

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
  XMKMF       Path to xmkmf, Makefile generator for X Window System

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to the package provider.

ヘルプ

 ビルドしたvimのヘルプ内容。

$ vim --version
VIM - Vi IMproved 8.1 (2018 May 18, compiled Mar 18 2019 09:59:20)
Included patches: 1-1017
Compiled by root@raspberrypi
Huge version without GUI.  Features included (+) or not (-):
+acl               +extra_search      +mouse_netterm     +tag_old_static
+arabic            -farsi             +mouse_sgr         -tag_any_white
+autocmd           +file_in_path      -mouse_sysmouse    +tcl/dyn
+autochdir         +find_in_path      +mouse_urxvt       +termguicolors
-autoservername    +float             +mouse_xterm       +terminal
-balloon_eval      +folding           +multi_byte        +terminfo
+balloon_eval_term -footer            +multi_lang        +termresponse
-browse            +fork()            -mzscheme          +textobjects
++builtin_terms    +gettext           +netbeans_intg     +textprop
+byte_offset       -hangul_input      +num64             +timers
+channel           +iconv             +packages          +title
+cindent           +insert_expand     +path_extra        -toolbar
+clientserver      +job               +perl/dyn          +user_commands
+clipboard         +jumplist          +persistent_undo   +vartabs
+cmdline_compl     +keymap            +postscript        +vertsplit
+cmdline_hist      +lambda            +printer           +virtualedit
+cmdline_info      +langmap           +profile           +visual
+comments          +libcall           +python/dyn        +visualextra
+conceal           +linebreak         +python3/dyn       +viminfo
+cryptv            +lispindent        +quickfix          +vreplace
+cscope            +listcmds          +reltime           +wildignore
+cursorbind        +localmap          +rightleft         +wildmenu
+cursorshape       +lua/dyn           +ruby/dyn          +windows
+dialog_con        +menu              +scrollbind        +writebackup
+diff              +mksession         +signs             +X11
+digraphs          +modify_fname      +smartindent       +xfontset
-dnd               +mouse             +startuptime       -xim
-ebcdic            -mouseshape        +statusline        -xpm
+emacs_tags        +mouse_dec         -sun_workshop      +xsmp_interact
+eval              +mouse_gpm         +syntax            +xterm_clipboard
+ex_extra          -mouse_jsbterm     +tag_binary        -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -L. -Wl,-z,relro -Wl,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E   -L/usr/local/lib -Wl,--as-needed -o vim    -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl    -lacl -lattr -lgpm -ldl   -Wl,-E  -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/arm-linux-gnueabihf/perl/5.24/CORE -lperl -ldl -lm -lpthread -lcrypt   -L/usr/lib/arm-linux-gnueabihf -ltclstub8.6 -ldl -lz -lpthread -lieee -lm     

以前

 以前はGVimでやったらしい。コレジャナイ。ターミナル内で使いたい。

次回

対象環境

  • 2019-03-18時点
  • Raspbierry pi 3 Model B+
  • Raspbian stretch 9.0 2018-11-13
  • bash 4.4.12
  • python 2.7.13, pip 9.0.1
  • python3 3.5.3, pip3 9.0.1
  • ranger 1.9.2
$ uname -a
Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux

参考