Vim 8.0 Advent Calendar 17 日目 新しい関数 ~文字列操作編~
この記事は Vim 8.0 Advent Calendarの 17 日目の記事です。Vim 8.0 では新しく便利な組み込み関数が多数追加されています。今回はその中から、文字列操作に関連するものを紹介します。matchstrpos({expr}, {pat}[, {start}[, {count}]])Vim script には元々、指定した文字列から、正規表現にマッチした位置を取り出す...
View ArticleVimの基本コマンド
1231579280Vimの設定ファイル Vimの設定ファイルはホームディレクトリの|perl| .vimrc ``` ない場合は新規に作成する。Vimコマンド( キーボード )移動系コマンド|h |← | |j |↓ | |k |↑ | |l |→ | |b |次の単語の先頭に移動 | |w |前の単語の先頭に移動 | |^ |行の先頭へ移動| |$ |行の末尾へ移動| |G |最終行に移動 |...
View Articlevim: タブインデント(スペース8個分)を一気にスペース2個分に変えたい
作業をしていて「vimrcでscssのファイルタイプにあった細かい設定をしていなかったのでタブインデント(スペース8つ分)になっていた。これどうにかして一気にスペース二つに変えられないかな」と思ったのでちょっと調べてみた。そこでretabを使ってインデンテーションをタブをスペースに変えてから:%s /[スペース8こ]/[スペース2個]...
View Articledeinに乗り換えよう(第二段階)
前提条件MacOS ElCapitan 10.11.68.0homebrew今回の作業さて先日導入したdein.vimプラグインを管理するためなので、次はプラグインを入れていく作業まずはneocompletenerdtreeから。ついでにdein.vimを自動で入れる記述も追加。手順neosnippetは最初に入れたので、次はneocomplete(スニペットの補完) $ vi .vimrc...
View Articleドットコマンドでもカーソル位置を保持したい
VimConf2016の延長線で出来たネタ - derisの日記をよみました。また、 Vim で operator 実行時にカーソルを移動させないような operator をつくった - Secret...
View Articleviエディタでテキストを編集しよう
ではviエディタを使ってテキストを編集してみましょう。今回は必要最低限必要なことを書きますね。 前回と同じようにまず最初にviエディタを起動してみましょう。 vi foo.txt 起動しましたね。**編集モード viエディタは最初は、コマンドモードで起動します。viではコマンドモードと編集モードという二つのモードがあります。最初はコマンドモードになっているので、編集モードにする必要があります。...
View Articleviエディタでテキストを編集しよう
ではviエディタを使ってテキストを編集してみましょう。今回は必要最低限必要なことを書きますね。 前回と同じようにまず最初にviエディタを起動してみましょう。 vi foo.txt 起動しましたね。編集モード viエディタは最初は、コマンドモードで起動します。viではコマンドモードと編集モードという二つのモードがあります。最初はコマンドモードになっているので、編集モードにする必要があります。...
View Articleviで基本的なコマンドを覚えよう
viで最低限必要なことを覚えておけば、設定ファイルのの編集ができるようになるから、次の章に進むのもよいと思う。ここでは、もう少し便利にviを使う方法を紹介したいと思います。行番号がないなぁ viを起動すると行番号がないのに気づきますね。行番号がないと何かと不便ですね。そのような場合は以下のようにします。...
View ArticleVim のソースのいじり方(:terminal を作るまで)
この記事は Vim Advent Calendar 2016、18日目の記事です。はじめにここ数年で、vim にコントリビュートする方が随分と増えた様に思います。リポジトリが GitHub に移ったのは vim-dev にとっても、そして vim-jp にとっても、やはり良い出来事だったと今更ながら感じています。しかしながらその動きが遅かった事もあり neovim...
View ArticleVim 8.0 Advent Calendar 18 日目 新しい関数 ~情報取得編~
この記事は Vim 8.0 Advent Calendarの 18 日目の記事です。今回は新しく追加された関数の中から、情報を取得するものを中心に紹介します。wordcount()現在バッファの統計情報を辞書で取得します。この情報は...
View Articledeinに乗り換えよう(第三段階)
前提条件MacOS ElCapitan 10.11.6vim8.0homebrew今回の作業第二段階に続けてプラグインを入れていく作業syntastictagbarvim-tags手順syntasticまずは構文チェックのsyntastic call dein#add('scrooloose/syntastic')...
View ArticleVim 8.0 Advent Calendar 19 日目 新しい関数 ~特殊操作編~
この記事は Vim 8.0 Advent Calendarの 19 日目の記事です。関数紹介編の最後です。特殊な操作をするものや、その他雑多な関数を紹介します。uniq({list} [, {func} [, {dict}]])配列内の連続する同じ要素を削除します。全体から重複を削除したい場合は事前に sort()関数を使う必要があります。let new_uniq_list =...
View Articleタブページ数に応じて幅が変わる tabline プラグインを作成しました
Vim (その2) Advent Calendar 2016の 19日目の記事です。vim-responsive-tablineタブページ数に応じて幅が変わる tabline を実現する vim-responsive-tablineを作りました。動機自分はウィンドウの分割等はせず、1バッファを1タブページに割り当てる使い方をしているため、タブページが増えやすく tabline...
View Article[vim] カーソル移動まとめ (同一ファイル内移動, ファイルをまたぐ移動, tab移動)
はじめにこれはあくまでも自分用のメモです。この手の記事はたくさんありますが、他の人の記事だと編集ができないので自分が覚えたものをちょこちょこと足していきます。もしもこの記事がどなたかのお役に立てば幸いです。移動の基本キーバインド説明k上へ移動j下へ移動h左へ移動l右へ移動単語単位の移動キーバインド説明w右隣の単語の先頭に移動W右隣の単語の先頭に移動(スペース単位)e右隣の単語の末尾に移動E右隣の単語...
View ArticleVim 8.0 Advent Calendar 20 日目 新しいイベント
この記事は Vim 8.0 Advent Calendarの 20 日目の記事です。Vim 8.0 では autocmd イベントも新しく追加されています。TabNew新しくタブページが開かれた際に発生します。例えば :tabnew Ex...
View ArticleVimscriptでヴィジュアル系ソートアルゴリズムを実装してみた
Vim (その2) Advent Calendar 2016 20日の記事です。Vim Scriptでバブルソート、クイックソート、マージソート、挿入ソートを可視化してみました。(Vim Script 初心者なので至らぬ点が多々あると思われます。予めご了承ください。)ソースコードはGitHubにあります。動作の様子bubble sortmerge sortinsert sortquick...
View Articleたった一行の.vimrcで劇的にシェルスクリプトが捗る
.vimrcに次の一行を加えます。autocmdFileTypesh :noremap R :.w!$SHELL<Return>そして適当なシェルスクリプトを開いてRキーを押すと、カーソル下や選択範囲のスクリプトが実行されます。
View ArticleVim 8.0 Advent Calendar 21 日目 新しい組み込み変数
この記事は Vim 8.0 Advent Calendarの 21 日目の記事です。今回は新しく追加された組み込み変数を紹介します。タイプを表す定数type()関数を使うと、変数のタイプを得ることができます。ここで得られる値は数値で、各タイプに数値が割り当てられています。ある変数が特定のタイプであるかどうかを判定したい場合、今までは以下のようにしていました。" 以下の例では変数 var...
View Article新人同人作家に捧げる技術系同人誌出版ガイド
本記事は、OpenStack Advent Calendar 2016の12月21日の記事である。はじめにここ数年同人誌をコミックマーケットで出版してきた経験をもとに、これからコミックマーケットで技術系同人誌を書いて出版しようと考えているソフトウェアエンジニアの方々のために、役に立つ Tips をいくつか記そうかと思う。なぜこの記事が OpenStack Advent Calender...
View Article