Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all 5739 articles
Browse latest View live

vimのコマンド忘備録

$
0
0

忘れっぽいもののメモ

ノーマルモード

コマンド内容
diwカーソル上の単語を消す
di" ""で囲まれた文字列を消す
dapパラグラフを消去
C-^前に開いたファイルを開く(チルダで動く??)

ビジュアルモード

コマンド内容
u選択範囲を小文字に置換
U選択範囲を大文字に置換

インサートモード

コマンド内容
C-w後ろに1単語消去
C-u後ろに1行消去

まだまとまっていないので、保留中

分割画面で・・・
C-w のあとに、大文字のHJKLで、分割ウィンドウの位置を変えることができる。
C-w のあとに、xで入れ替える

ダイアルX・・・補間など

マークのテクニック

コロンの使い方

インサートモードをキープしながらページアップはできないのか?

インサートモードのctrlキー:使い道が分からないもの・・・
C-a繰り返し入力
C-e下の文字をコピー?

このキーは何だと思ったら
:help CTRL-D
:help i_CTRL-D
で調べる

インサートモードで、Alt+キーを押すと、
インサートモードを抜ける。C-cで抜けるのは
C-[またはEscで抜けるのとは違い、コマンドが踏襲されないが、
Altを使うと踏襲される。puttyの端末では
AltがEscを投げてるのかもしれないが、よくわからない。


processing-vimを入れる

$
0
0

NeoBundleをつかっていれませう。
NeoBundleを使わない場合はgithubよりzipを落として、~/.vim/フォルダ以下に入れてください。
.vimrcに以下を記述して

"processing-↲                                                              
NeoBundle "sophacles/vim-processing"↲
au BufnewFIle,BufRead *.pde setf processing↲

:NeoBundleInstallして入れる。
OSXの場合はどうやら、proccesing-javaを入れる必要があるようなので、ProcessingのアプリのメニューTools > install "processing-java"をいれる。

これで

  • シンタックスハイライト
  • ノーマルモードでkeyword上でKをおすことでドキュメント参照
  • :makeでビルド

ができるようになります。

ハマリポイント

なぜか.pdeを読ませるとfiletypeがarduinoで認識されてちゃんと使えなかった。
どうやらarduinoが前に.pdeを使っていた(今は.ino)関係で、そっちのファイルと認識されるのが原因っぽい。参照
.pdeの拡張子とfiletypeの関連付させて解決。

au BufnewFIle,BufRead *.pde setf processing↲

参考

processing 公式
sophacles/vim-processing

CentOSのvimからMacのクリップボードにコピーする方法 (一番簡単なヤツ)

$
0
0

vimというより、ターミナルもしくはiTermの文字をコピーする方法です。

alt + コピーしたい文字列をドラッグ

以上!ドラッグを離した時点でコピー完了になります。

こんな簡単なコマンドだけど・・

Mac側にコピーしたい!!と思ってググったときに、
vimのclipboard設定の記事がたくさん出てきて、記事を追っては設定失敗して時間消費したので、ここに記録しておきます。(自分のやり方が悪いと思うのですが。。)
とりあえず、altでコピーできるなら十分だ!というひとは使っていただければ

別の方法でクリップボードにコピーする(未成功)

調べたログとして残しておきます。

【Vim】【Mac】Vimのヤンクでクリップボードにコピーする
.vimrcの設定でも可能とのこと!
-clipboardを+にしないといけないのですが、わたしはここではまってあきらめています。ごめんなさい。

-clipboardを+clipboardにするには・・?

Mac上でvimを使っている人はMacPortを使っている下記の記事でいけそう。
コンソールVimのヤンクでMacのクリップボードにコピー
CentOS上なのでMacPortが使えず。。

vim7.3をインストールすれば、自動で+clipboardになるらしい
CentOS 6.3にVim 7.3をインストールする
インストールはできたけどいまだに-clipboard…orz
(オプションの設定が必要だったのかも)

この後もgvimを入れようとしたり、いろいろしましたが挫折。。
当分はalt+ドラッグでいいかな。アドバイスもらえたら嬉しいです。

vimをアップデートすると同時にHomebrew管理に移行する

$
0
0

あらすじ

viとvi-improved

Linuxに触りたての頃、cdでディレクトリ移動、lsでフォルダ内を表示、rmで削除、っていう流れで、ファイル編集はviコマンド!と間違えてるような間違えてないような、適当な感じで覚え、.bashrc一つ編集するのに四苦八苦しながら:wq、:q!を覚えたのは懐かしい思い出です。(カーソル移動は矢印キー)

さてようやく最近になってviは古く、実体はvimである、かなりヤバいテキストエディタである、崇拝者が何千人もいる、ということをだんだんと理解してきました。

7.3

OSにプリインストールされているだけでビルトインではないことを知った僕は、引数なしのvimコマンドを実行し、バージョンが現行より大分古い7.3であることを確認しました。

もっとvimを使いこなし一人前のスーパーハカーになるためにもこのままではいけない。。

Homebrew

というわけで、Homebrewに上がっているバージョンのvimをインストールし、既存のものからそっちに移行します。

まずは厳かに、

Terminal
% brew info vim
vim: stable 7.4.488, HEAD
http://www.vim.org/
Conflicts with: ex-vi
Not installed
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/vim.rb
==> Dependencies ...

ふむ。バージョンは7.4.488。。最新版はもう少し上だがまあ許容範囲内でしょう。

えいや。

Terminal
% brew install vim --with-lua
==> Installing vim dependency: lua==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/lua-5.2.3_1
######################################################################## 100.0%==> Pouring lua-5.2.3_1.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/lua/5.2.3_1: 13 files, 308K==> Installing vim==> Downloading http://ftp.debian.org/debian/pool/main/v/vim/vim_7.4.488.orig.ta
######################################################################## 100.0%==> Patching==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/7.4.488/share
==> make==> make install prefix=/usr/local/Cellar/vim/7.4.488 STRIP=true🍺  /usr/local/Cellar/vim/7.4.488: 1600 files, 26M, built in 88 seconds

無事、インストール完了!

移行

と銘打ちましたがPATHの設定がちゃんとしていればちゃんと新しいvimが読み込まれ、設定とかhistoryとかも引き継いでくれるはずです。

echo $PATH | tr ":" "\n"を実行し

Terminal
% echo$PATH| tr ":""\n"
/usr/local/bin
/usr/bin
/bin
/usr/local/sbin
/usr/sbin
/sbin
/opt/X11/bin
/Users/***/bin

このように/usr/local/binが/usr/binよりも上に来ていれば自動的に新しい方のvimが読み込まれます。

もしそうでなかったら各種rcファイルにexport PATH=/usr/local/bin:$PATHを記述するか、/etc/pathsを編集し並べ替えます。

一旦Terminalを閉じるか、別のウインドウを開いて、vimと入力し、バージョンが変わっていれば成功!

Terminal
1 
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                              VIM - Vi IMproved                                
~                                                                               
~                               version 7.4.488                                 

やったね!これで新しいvimが使い放題!アップデートもbrew update && brew upgradeで簡単!

Vim起動時にneobundleのエラーが表示されるようになった時の対処方

$
0
0

Vim起動時にこんなエラーが表示されるようになった時の対処法

[neobundle] neobundle#rc() is deprecated function.
[neobundle] It will be removed in the next version.
[neobundle] Please use neobundle#begin()/neobundle#end() instead.
Press ENTER or type command to continue

.vimrcの↓を

call neobundle#rc(expand('~/.vim/bundle/'))

↓に変更する

call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
call neobundle#end()

OSX 10.10
Vim 7.4

vim-refを使う

$
0
0

1. vim-refとは

vimで辞書をみるプラグイン

2.準備

1. テキストブラウザ

テキストブラウザの種類はいろいろあるけど、今回はlynxをインストール。

$ brew install lynx

設定はファイルを変更。

lynx.cfg
#CHARACTER_SET:iso-8859-1    ↓変更CHARACTER_SET:utf-8#PREFERRED_LANGUAGE:en    ↓変更PREFERRED_LANGUAGE:ja

2. マニュアル

とりあえずRubyとPHPのマニュアルを入れてみる。

Ruby

gem install refe2

.vimrcに以下を追記。

let g:ref_refe_cmd = $HOME.'/.rbenv/shims/refe' "refeコマンドのパス

PHP

PHP: Download documentationのMany HTML filesを任意のディレクトリにDL。

.vimrcに以下を追記。

let g:ref_phpmanual_path = $HOME . '/.vim/ref/php-chunked-xhtml' "マニュアルをDLしたディレクトリを指定

3. vim-refのインストール

.vimrcに以下を追記して、:NeoBundleInstall

NeoBundle 'thinca/vim-ref'

4. 使い方

:Ref refe putsとか:Ref phpmanual echoとかやるとvimからRubyやPHPのマニュアルが見られるようになる。
または、Shift-kで、カーソル上の単語を検索できる。

参照

VimfilerでQuick Lookを使ってファイルをプレビューする

$
0
0

Mac OS X上で動作しているVim + Vimfiler環境で、カーソルで選択しているファイルをQuick Lookをつかってプレビューする方法をメモします。

方法

※ 2015/01/01追記: vimprocをあらかじめインストールしておく必要があります。

方法は簡単で、以下の設定を.vimrcに記述するだけです。この設定により、Vimfiler起動中にShift + vを入力することで、カーソルで選択しているファイルをQuick Lookでプレビューできるようになります。

letg:vimfiler_quick_look_command ='qlmanage -p'autocmdFileType vimfiler nmap <buffer> V <Plug>(vimfiler_quick_look)

カンタン説明

もう少し説明すると、Shift + vが入力された際に、g:vimfiler_quick_look_commandに設定されたqlmanage -pというコマンドが実行されています。

qlmanageコマンドは、Mac OS Xに標準搭載されているコマンドで、pオプションをつけてファイルパスを渡すことで、そのファイルをQuick Lookでプレビューできる機能を備えています。

Quick Look以外のプレビューツールを使いたい場合は、g:vimfiler_quick_look_commandに設定するコマンド名を適宜変更すればよいみたいです。

Quick LookがないMac OS X以外のOSでも使えますね!

TwitterAPI のURL補完 snippetファイル作った

$
0
0

statuses/update とか users/show とか毎回打ち込んだりコピペは面倒なので

こちら補完用 snippet ファイル
https://gist.github.com/elzzup/9d5e2725356f94419513

ちなみにこちら snippet フィイル生成したPHPスクリプト

generate_snippets.php
<?php/* * TwitterAPI1.1 url snippets 生成 */require_once('./simple_html_dom.php');/*【保存版】TwitterAPI1.1 REST API 全項目解説 | DX.univ */$url='http://dx.24-7.co.jp/twitterapi1-1-rest-api/';$html=file_get_html($url);foreach($html->find('tr')as$tr){if(!$tr->find('td',0)||!($tr->find('td',0)->find('a'))){continue;}list($td1,$td_disc)=$tr->find('td');list($method,$query_base)=explode(' ',$td1->find('a',0)->innertext);$query=$query_base;$discription=$td_disc->innertext;echo<<<EOFsnippet$queryabbr$discriptionoptionsword$query_base\n\nEOF;}

VIMで使いたいならば
twitter.snip を ~/.vim/snippets に入れて
補完したいfiletype のフォルダからリンクを貼るなりすれば

<<< hiro@arch~/.vim/snippets>>> cd phpphp.snip*  php_functions.snip*<<< hiro@arch~/.vim/snippets/php>>> ln ../twitter.snip ./ `./twitter.snip' => `../twitter.snip'

blog.png

こんな感じで使える


【vim】行番号の表示・非表示

$
0
0

vimでの行番号の表示・非表示の方法

【行番号の表示】

カーソルモード(ESCを押したあとの状態)で
以下のコマンド

:set number

【行番号の非表示】

カーソルモード(ESCを押したあとの状態)で
以下のコマンド

:set nonumber

その他

デフォルトで行番号表示させたい場合は、.vimrcを
設定しておく。

$ vi ~/.vimrc

" 行番号を表示
set number

HTMLのtextareaをviキーバインドで編集するjQueryプラグイン

$
0
0

私は普段使うエディタはvimなのですが、このvimというエディタは操作体系がかなり独特で、カーソルの移動モードとテキストの編集モードが明確に分かれていたり、カーソルの移動が「h、j、k、l」の横並びのキーで行うなど、他のエディタとかなり違います。
そして、この操作体系に慣れてしまうと逆に通常のカーソルキーを使って編集するようなエディタを使うのが苦痛になります。
なので、HTMLのtextareaに適用することでviキーバインドが一部使えるようにする、jQueryプラグインを作りました。
しかし、今のバージョンは機能を実現することだけを目指したので、かなり複雑でメンテナンスしづらい作りになっているので、現在絶賛リファクタリング中です。

https://github.com/digitarhythm/vixtarea/

vim-dispatchでTeXファイルを非同期コンパイル

$
0
0

はじめに

vim-dispatchというプラグインがあります.

vimで非同期実行ができるプラグインです.

裏でコンパイルと実行を行いながら, ファイルの編集ができます.

ちょうど修士論文をtexで書いているので, 使ってみます.

VimからTeXコンパイル

私は, VimでTeXファイルの編集をしています.

しかしTeXファイルのコンパイルは, やたら時間がかかります.

特に, bibtexを使っていると, platexしてbibtexしてplatexしてplatexする必要があります.

コンパイル用に, こんなシェルスクリプトを使っています.

#!/bin/bash## autobibtex file=$1["$file"=""]&&{echo"input file name!";exit 0;}

nkf -w8 --overwrite $filefilename=$(basename $file .tex)

platex -shell-escape $filename".tex"
bibtex $filename".aux"
platex $filename".tex"
platex $filename".tex"
dvipdfmx $filename".dvi"

find . | grep -E "$filename.(bbl|log|toc|dvi|blg|aux)"| xargs rm

platexからbibtexからplatexからplatex. アホです.

時間がかかって作業が止まります. 辛いです.

Vimから出ずに, ファイルを編集しながら裏でコンパイルできたら嬉しいです.

latexmkomakeで変更を監視して自動コンパイルする方法もあると思います.

しかし, 自動コンパイルはちょっと鬱陶しいです. 自分のタイミングでコンパイルしたいです.

そこで, 非同期実行を可能にするプラグイン: vim-dispatchを使います.

やってみたこと

texコンパイル用のスクリプトを書いておいて, それをvim-dispatchで呼び出します.

コンパイル用のスクリプトをautobibtexとします. 先ほどの, platexしてからbibtexしてplatexするシェルスクリプトです.

次に, vim-dispatchをインストールします.

NeoBundleを使っていれば, .vimrcに1行書くだけですね.

NeoBundle 'tpope/vim-dispatch'

そして, vimを起動して, $VIMRUNTIME/ftplugin/tex.vimを編集します.

こう打てばtex.vimの編集ができるはずです.

:e $VIMRUNTIME/ftplugin/tex.vim

tex.vimの中に, 2行だけ書き加えました.

nnoremap ,r :w<cr> :Dispatch! autobibtex % <cr>
nnoremap ,,r :w<cr> :Dispatch autobibtex % <cr>

:Dispatch! コマンドで, 非同期実行できます.

コンパイルメッセージも出てきません. 裏でコンパイルしてくれます.

vim-dispatchのおかげで, コンパイル中もファイルの編集ができます.

エラーがあって上手くいってなさそうな場合は, !マークを外したバージョンで実行してエラーメッセージを確認すればいいかなと思います.

感想

だいぶ快適です.

設定を3行書き加えただけで, コンパイルの時間が気にならなくなりました.

今回はコンパイル用のシェルスクリプトを呼んでいますが, makeファイルを書くほうが標準的ですよね. make+vim-dispatchの方がカッコ良さそうです.

ところで, 非同期ができても, PDF閲覧ソフトが自動更新してくれないと意味がないです.

Linuxならevince, MacならSkim.appなどが, PDFの変更を検知して自動更新してくれます.

Windowsは分かりません. TeXstudioとか使えばいいのでは.

以上です.

軟弱な僕がVimでタブをカーソルキーで切り替えるためにしている設定

$
0
0

Vim でも h, j, k, lなんて使わない軟弱な僕が、Ctrl + ←, Ctrl + →でタブを切り替えられるようにするための設定です。

.vimrc
" 特殊キー登録" Ctrl + カーソルキーset<C-Right>=^[[C
set<C-Left>=^[[D

" Ctrl + 左右キーでタブを切り替えnnoremap<C-Right> :<C-u>tabn<CR>nnoremap<C-Left> :<C-u>tabp<CR>inoremap<C-Right><ESC>:tabn<CR>inoremap<C-Left><ESC>:tabp<CR>
cnoremap <C-Right><C-u>tabn
cnoremap <C-Left><C-u>tabp

インサートモードでも、ノーマルモードでも、コマンドモードでも、さくっとタブが切り替わるようにしています。
tmux を通すと Ctrl + カーソルキーをうまく認識してくれなくて困ってる。

vimでMarkdownのプレビュー

$
0
0

今月の「Software Design」のvimの特集記事を見てやってみたのでメモ。

参考サイト:
http://www.key-p.com/blog/staff/archives/9032

.vimrc の設定

NeoBundle 'plasticboy/vim-markdown'
NeoBundle 'kannokanno/previm'
NeoBundle 'tyru/open-browser.vim'auBufRead,BufNewFile *.md setfiletype=markdown
letg:previm_open_cmd ='open -a Firefox'

こんだけ。で、
README.mdとかを編集して、保存したら、

:PrevimOpen

と打つと勝手にFirefoxが立ち上がってプレビューしてくれる。

:w

すればブラウザも自動で更新される。
素晴らしい。。。。

cscopeでvimを使う

$
0
0

cscopeはvimではなくviで表示するので、カラー表示されない。ゆとりには辛い。

export CSCOPE_EDITOR=vim

cscopeの設定ファイルがあればそこに書き込んでも良い気がする。

vimのundoファイルをnetrwで表示しないようにする

$
0
0

netrw って、あの、ディレクトリとかファイルの一覧をする、vimのファイラーみたいなやつです。
あれに、*.un~ファイルが出るようになって見づらいので。

参考URL
https://github.com/nelstrom/dotfiles/blob/master/vimrc

letg:netrw_list_hide='\.un\~$'

もっと早くやるべきだった。。。


Vimスクリプトで軽やかにタグジャンプしよう

$
0
0

最近Vimを使いこなしたくイジイジしてたので少しまとめてみました.

Vimでもっと便利にタグジャンプしたい!!
という人を対象に書いています(多分).
分かりづらいところが多々あると思います申し訳ございません.

Vimスクリプトとは?

Vimに組み込まれたスクリプト言語である。

ググってもらえれば良くはわかると思います.

超すごいタグジャンプ

タグジャンプとは?

コード中に書かれた変数や関数の宣言元を一発で参照することのできる機能です.

どのくらい便利なのか?

こんな感じにエディタなのに宣言元に移動できちゃいます.
alt

導入方法&使用方法

ctagsをちゃんと使う
その他にもググってもらえればたくさんヒットします.

スマートにタグジャンプ!!(本題)

デフォルトのタグジャンプ

単語上にキーカーソルを移動しCtrl+]で宣言元に移動します.
デフォルトのままだと,複数宣言元が見つかった場合,第一候補にジャンプしたりと少し使いにくい.

スマートにタグジャンプ

キーマッピングして,複数のコマンドを組み合わせ使いやすくしてやります.
今回は,Ctrl+h・Ctrl+kでキーカーソル上の単語の定義元を新たなタブで垂直・水平に分割してジャンプします.
複数宣言元が見つかった場合,リストにして選べるようにします.

.vimrcの編集

.vimrc
nnoremap <C-h> :vsp<CR> :exe("tjump ".expand('<cword>'))<CR>
nnoremap <C-k> :split<CR> :exe("tjump ".expand('<cword>'))<CR>

.vimrcにこの二行を記述して保存,Vimを再起動するとCtrl+h・Ctrl+kでタグジャンプできるようになります.
意味はヘルプでバッチリ調べれます.
例):help vsp

垂直に新規タブでジャンプ
alt

水平に新規タブでジャンプ
alt

最後に

垂直に新規タブで宣言元にジャンプしたいなぁと調べていて書き方だけは見つけたのですがVimスクリプトの意味が理解できず…(そもそもVimスクリプトという存在を知らなかった)
そこでヘルプがとても重要な情報源となりました.

今回のキーマッピング,実際のコーディングで使ってないので今後改める必要があります.
ヘルプでコマンドを調べて書き換えてやれば他にも色々とできちゃいそうです.

参考サイト

vim-jp

Vimとctagsでコードリーディング 公開用

unite-outlineのコメント表示について

$
0
0

概要

unie-outlienのコメント定義で自分が分かったことをまとめます。

内容

手探りで、調べてみました。

ヘルプ

:h *unite-outline-info-heading-1

-,=,*を10文字以上並べたら反応する。

unite

> 
// title1
// title2
// title3

main.js

// ----------// title1// ==========// title2// **********// title3

一行目から連続したコメントでは、反応しない。

使用かどうかは不明

unite

> 
main()
// 表示される

main.js

// ----------// 表示されない//// ----------// 表示されないfunctionmain(){}// ----------// 表示される

==========で階層を一つ下げれる

多構造はできないみたいです。

unite

> 
// parent
  // child
// parent
  // child

main.js

// ==========// parent// ----------// child// ==========// parent//// ----------// child

一行あけれる

開けた行には、-=*が記述できるみたいです。

unite

>
// space

main.js

// ----------// -=*// space

インデントに対応している

unite

> 
// indent
  // indent
    // indent

main.js

// ----------// indent// ----------// indent// ----------// indent

Vim操作の基本の「き」 −「実践Vim」まとめ(その0) -

$
0
0

〜「実践Vim 思考のスピードで編集しよう!」を読んでVimの基本をまとめ中〜

0. Vimのやり方

普段コードを書く中では、同じ編集を繰り返すシーンが多い。この繰り返しの編集を、Vimでは効率的に実現してくれる。Vimの操作を身につけるためのファーストステップは「ドットの公式 Dot Formula」による繰り返し編集をマスターすること。

0-1. Vim以前の大前提

DRY(Don't Repeat Yourself)

  • Vimに限らず言わずもがな。

0-2. ドットの公式 Dot Formula(キー入力の理想型)

カーソル移動用のキー入力が1つ、何かを実行するキー入力がもう一つ。何かをするにはこれが一番だ!

  • 繰り返しの変更にはドットコマンド.を使用する
  • 合計2つ(移動に1回+テキスト変更に1回)のキー入力が理想系(移動と変更を含めて記憶したい場合はマクロ使う)

0-3. ドットコマンドとは?

Vimのドキュメントではドットコマンドについてシンプルに「直前の変更を繰り返す」と書かれている。
(中略)最初に問うべきはこれだ。「変更ってなに?」

Vim documentation: repeat

  • 変更とは?
    • ノーマルモードでのテキストを変更するコマンド1つ分
    • 挿入モードに入ってからノーマルモードに戻るまでのテキスト変更

0-4. 余計な移動をなくす

ドットコマンドを効率的に使うために、移動用のキー入力を最小限に抑える。(理想は1回のキー入力で目的の箇所に移動する)着目すべきは下記の2点。

  • ノーマルモードでの検索による移動

目的の編集箇所に移動するためにh,j,k,lを連打するのはかっこわるい。下記の検索コマンドを利用して少ないキー入力で移動する。

検索コマンド内容次検索前検索最小キー入力数
f{検索文字}一番近い{検索文字}まで移動(前方検索);,2
F{検索文字}一番近い{検索文字}まで移動(後方検索);,2
/{検索文字列}<CR>一番近い{検索文字列}まで移動(前方検索)nN3
?{検索文字列}<CR>一番近い{検索文字列}まで移動(後方検索)nN3
*現在のカーソル下の単語を検索nN1
  • 挿入モードへ入る方法

挿入モードに入るために、移動用のキーを押してからiまたはaを押すと、それだけで2回以上のキー入力になってしまう。Vimの複合コマンドを利用することで1回のキー入力でカーソルを移動させてかつ挿入モードに入ることができる。

Vimの1キーコマンドには、2つ以上の他のコマンドを纏めたバージョンと考えられるものがたくさんある。以下の表に、例をいくつか掲載する。

複合コマンド同じことをする長いコマンド内容(※引用外)
Cc$カーソルから末尾までを削除して挿入モードに入る
sclカーソル下の文字を削除して挿入モードに入る
S^Cカーソル行を削除して挿入モードに入る
I^iカーソル行の先頭に移動して挿入モードに入る
A$aカーソル行の末尾に移動して挿入モードに入る
oA<CR>カーソル行を下に改行して挿入モードに入る
Okoカーソル行を上に改行して挿入モードに入る

0-5. まとめ

まずはドットの公式を徹底する。移動に1回のキー入力、変更にはドットコマンドを使用!

VimでHaskellするときのsyntax/indentプラグイン比較

$
0
0

kana/vim-filetype-haskell

indentのみ。なので下のSSの色は初期のままです。

image

前半のコードは http://www.yesodweb.com/book/basicsから引用しました。SSはインデント済みの元ソースを再度整形したものですが、全くインデントしてない状態からだとほとんどインデントされません。自分で改行するときは問題ないんですが。

プラグイン側でexpandtabとshiftwidth/softtabstop=2が設定されています。

dag/vim2hs

これ一つでsyntax、indent、compiler、折りたたみなどが一気に入ります。

image

\と.が記号で表示されていますが、背景色がおかしいですね。QuasiQuoteの中もハイライトされていて・・・カラフルです。

インデントは一度全部外した状態から一括整形させてもこうなります。ここではexpandtab, shiftwidth=2を別途指定しています。

raicho/haskell-vim

syntaxとindent。

image

型名に色がついているのが特徴的ですね。これもゼロから一括インデントすることができます。そしてet,sw=2。

travitch/hasksyn

syntaxとindent。

image

QuasiQuoteの中もHaskellコードとしてハイライトされてますね。

で、どれにしたのか

haskell-vimをベースに、型名をPreProcからTypeに変えて、caseの下は普通に1インデントにして・・・もうvim2hsでもいいかなという気も。

Haskell環境構築にあたってはそのほか

  • Syntasticからwatchdogs.vimに乗り換え
  • ghcmod-vim
  • neco-ghc
  • ref-hoogle
  • unite-haskellimport

あたりを入れました(もしくは入れる予定)。

vimを使った矩形選択

$
0
0

はじめに

vimを使って矩形選択(くけいせんたく)をする方法。
ドットインストールの「vim入門」の中で覚えたvimで矩形選択をする方法が、いざ使いたいときに忘れているので備忘としてメモする。

やりたいこと

$cat hoge.txt123451234512345 ↓ 上記の文章をvimを使って以下のように編集する。$cat hoge.txtaaa12345aaa12345aaa12345

手順

  1. ノーマルモード(ESCキー)にて、文字を挿入したい位置へカーソルを移動する。
  2. 矩形選択をするため、ctrl+vキーを押下する。(このときVISUAL BLOCKと表示される)
  3. 挿入したい行数分、↑キーor↓キーで範囲を指定する。
  4. 挿入モードになるため、Shift+iキーを押下する。(このときINSERTと表示される)
  5. 挿入したい文字を入力した後、ESCキーを押下する。

説明

vimのモードについて

ビジュアルモード

ノーマルモードにてvキーを押下すると、範囲指定できる状態になる。
※入力モードへ切り替える際に、iキーを押すのと同じようにvキーを押します。
※「:set showmode」で現在のモードを表示するように設定されていれば、「VISUAL」と表示される

矩形ビジュアルモード

ノーマルモードにてctrl+vキーを押下すると、矩形選択できる状態になる。
※「:set showmode」で現在のモードを表示するように設定されていれば、「VISUAL BLOCK」と表示される

その他

サクラエディタで矩形選択する方法

  • マウスで矩形選択

Alt+ドラッグ:クリック位置からの矩形範囲選択ができます。

  • キーボードで矩形選択

Shift+[F6] で矩形範囲選択モードになり、あとは通常のカーソル移動で矩形範囲を変えていきます。
[Esc] キーで矩形範囲選択モードをキャンセルできます。

Eclipseで矩形選択する方法

alt+shift+aで、モードの切り替えが出来る。

秀丸で矩形選択する方法

alt+ドラッグ:クリック位置からの矩形範囲選択ができます。

参考

Viewing all 5739 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>