vimの内部コマンドにsortがあったのね。初めて知りました。 以下のように、外部コマンドの sort.exe を使ってソートすると、文字化けすることがあるので上記の内部コマンドを使いましょう。
vimの内部コマンドにsortがあったのね。初めて知りました。 以下のように、外部コマンドの sort.exe を使ってソートすると、文字化けすることがあるので上記の内部コマンドを使いましょう。
外部 sort、uniq コマンド 区切りを「,」として3フィールド目の値でソートし、3フィールド目の値が重複していたら削除(-u)する :%!sort -t, -k3,3n -b -u 単純ソート :%!sort | uniq 重複行を抜き出す :%!sort | uniq -d データ並びを維持しつつ、重複行を削除する :%!cat -n :sort /\t/ :%!uniq -2 :%s/^ *\d+\t// Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signin
#(python-dev python3-dev ruby-devは個人的にPythonとRubyを使いたい為にいれているので、個人の環境に合わせて下さい。) sudo apt-get install -y git build-essential ncurses-dev lua5.2 lua5.2-dev luajit python-dev python3-dev ruby-dev #ディレクトリ移動。 cd /opt/ sudo git clone https://github.com/vim/vim cd vim/ #ビルドファイル生成 sudo ./configure --with-features=huge --enable-multibyte --enable-luainterp=dynamic --enable-gpm --enable-cscope --enable-font
ファイルを1行ずつ読み込みながら処理するのはawkが向いていますが、 途中の行から前に戻りながら編集したい場合など、 エディタ操作としてなら簡単に記述できる処理をスクリプトとして実行したい場合、 Vimのバッチモードは便利です。 (shell script中から、バッチモードで起動したVimを、1つのフィルタとして使う等) Ex modeでスクリプト実行: -e -s <scriptfile Normal modeでスクリプト実行: -s scriptfile (-e無し) 最近Ex mode用スクリプトを2つ書いた際のTipsです。 http://qiita.com/deton/items/60d796c3ba5cbb8c4bbb#4-5 http://qiita.com/deton/items/2fc42176b177d33d6d1e#3-1 GNU edのコメントは#だがvimは"
kana/vim-filetype-haskell indentのみ。なので下のSSの色は初期のままです。 前半のコードは http://www.yesodweb.com/book/basics から引用しました。SSはインデント済みの元ソースを再度整形したものですが、全くインデントしてない状態からだとほとんどインデントされません。自分で改行するときは問題ないんですが。 プラグイン側でexpandtabとshiftwidth/softtabstop=2が設定されています。 dag/vim2hs これ一つでsyntax、indent、compiler、折りたたみなどが一気に入ります。 \と.が記号で表示されていますが、背景色がおかしいですね。QuasiQuoteの中もハイライトされていて・・・カラフルです。 インデントは一度全部外した状態から一括整形させてもこうなります。ここではexpand
augroup ghcmodcheck autocmd! BufWritePost <buffer> GhcModCheckAsync augroup END " $VIMRUNTIME/after/ftplugin/haskell.vimに保存しておく Haskellではこまめにコンパイルして型のエラーをチェックするのが重要なので、 自動でチェックできるとかなり捗ります。 また、型推論によって、カーソルが示している関数がどういう型なのかを表示する機能があります。 ソースコードの状態によるので、常に動作するわけでは無いですが、 あれ、これ今どういう型になってんだろう、って時に非常に役に立ちます。 モナドのdo記法の中とか、型がイメージしづらい時などにも使えます。 GhcModType html-template-syntax HaskellのWebフレームワークYesodでは、hamlet
これなにしてんの? 1つ目の例は以下2つのコマンドの組み合わせです。 :bufdo 後続コマンドをすべてのバッファに対して実行します。 :tab split 現在のバッファを新しいタブで開きます。 もうひとつの例はballコマンドの機能です。 :sba[ll] もしくは :ba[ll] もしくは :sun[hide] バッファリストにあって、メモリにロードされているもの全てにウィンドウを割り当てます。 tabをつけると新しいウィンドウがそれぞれタブで開きます。 ballとunhideは、ballの場合Buf/Win Enter/Leaveオートコマンドを実際に該当タブを表示した時に実行する点が違うようです。 単純に:baすると、以下のようにすべてのバッファが表示されるように:splitされます。 指定したバッファを新しいタブで開きたい場合
はじめに 追記2020/09/25: Kaoriya版Vimは現在32bit/64bitともにpython2サポートがないためslimvが動作しません、 そのうちきちんと検証をするつもりですが、 Windows環境下でvimでlispやる環境が欲しいだけなら下記のneovim+vlimeのほうがpythonに依存しないので良いと思います この記事はVimmerな人たちでかつCommonLisp始めてみたいという方向けです。 Lisp開発用のVimプラグインであるslimvを使った環境構築をしていきます。 Emacsな人たちはLispBoxで調べると幸せになれるかもしれません。 以前書いたslimv導入という記事の内容の焼き直し版です。 Linuxな人たちだけでなくWindowsな人たちの環境構築についても書いていこうかとおもいます。 ※Windows版書きました : Windowsの環境構
この記事は Vim Advent Calendar 2016 の6日目の記事です。 Vim scriptのエラーが出たときにエラーをquickfixに表示して、エラー箇所に飛べるといいなと思いますが、標準の機能ではないようなので、コマンドを作りました。 先行事例 調べてみると、kanno_kannoさんが書いた記事 Vim scriptをsourceしてエラーがあればquickfixに表示する - ぼっち勉強会 関数対応版:Vim scriptをsourceしてエラーがあればquickfixに表示する - ぼっち勉強会 辞書関数対応版:Vim scriptをsourceしてエラーがあればquickfixに表示する - ぼっち勉強会 や、Stack Exchange Is it possible to populate the quickfix list with the errors of
久しぶりに.vimrcをゴニョゴニョしてたときにやりかた調べたけど結局必要なくなったので 一応個人的備忘としてメモ。 " /path/to/file.vim let current_dir = fnamemodify(resolve(expand('<sfile>:p')), ':h') echo current_dir " /path/to Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
本記事は Vim Advent Calendar 2013 の 20 日目の記事です。 19 日目は @orga_chem さんによる、vim-splashを使い倒してこそ真のVimmerですぞ でした。@orga_chem さんは VAC2013 のトップ絵も書かれています。素敵ですよね、Vimgirl かわいい。 最近巷で噂の vimrc 読書会 ですが、この最中によく指摘される事柄として、autocmd に付随する augroup の定義がない、というものがあります。 autocmd は便利かつ多用されますが、その裏で気づかれにくい・知られにくいこの件について今回は記事を書いてみます。 autocmd の概要 autocmd は Vim で指定したイベントが起きた際に自動的に実行するコマンドを指定するコマンドです。
vimプラグイン書こうとちょっとずつ調べているのですがやっぱりテスト書きたいよねって事で vimのテストフレームワークをまとめる 順不同、開発停止してそうなのもあるので雰囲気見てください。記事書いてからの将来的に開発止まっちゃうかもですし。よさそうな実装あったら開発が活発なところに組み込んだりも出来ますシー kana/vim-vspec Travis CI で Vim プラグインのテストを自動化する Vim プラグイン開発でも継続的インテグレーションがしたい! (Travis CI 編) テストファイルはvimプラグイン形式で書いて 内部でRubyのvim-flavorgemを使用している vim-airlineで使ってる AndrewRadev/vimrunner 完璧Rubyのgem rspec形式で記述出来るので今までのrspecの恩恵が受けられる vim-multiple-curs
Vimは、C-oを連打することで、直前に編集していた箇所に戻れるという素晴らしい機能がある。 EmacsではC-x C-xで直前のマークに戻れるが、更に前に付けたマークに戻るにはどうすればよいか分からなかった。 が、ちゃんとWikiを読んだら書いてあった。 C-u C-SPC でOK。 Emacsには標準でマークリングという機能があり、マークの位置は最大16個まで記憶される。 Vimと違い、バッファ間の移動をしない仕様になっているが、自分にはこちらの方が合っている。 これで、安心してバッファ内を走り回れるようになった。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informa
昔に書いたものなので余り参考になさらずに 僕はターミナルに引きこもっています。たまに外出しても最寄りのブラウザ程度です。そんな僕は Mac を使っています。綺麗な UNIX だからです。ターミナルアプリとしてターミナル.app を使っています。iTerm2 含めいろいろ試しましたがコレがさいつよでした。そして、僕は 2 年半かけてさいつよ環境を築き上げました。 tl;dr 最強のターミナル開発環境の構築する 最強の開発環境を目指して タイトルで豪語しすぎた感はありますが、本気で構築中です。僕がターミナル環境の整備に目覚めたのは学生の時でした。特に何かのプロジェクトに携わるといったこともなく、たまに講義の課題を解いたり趣味のアプリを作成したりといった程度での開発だったので、環境構築や整備に割く時間がありました。 まずは現状 普段のターミナル環境は次のとおりです。 ターミナル.app(全画面)
はじめに: Vimならではの便利機能をマスターしよう! かれこれ数年前、僕がVim(というか、たぶんVi)と初対面したときは、「なんて使いにくいエディタなんだ!!」と最悪の印象でした。 しかし、周りのプログラマやネット上のエンジニアたちはみんな「Vim便利!」「Vim最高!」と言います。 なのでその言葉を信じ、僕も最悪の印象だったVimともう一度正面から向き合うことにしました。 そして、月日が過ぎ・・・僕もいつしか「Vim便利!」「Vim最高!」と叫ぶようになってしまいました!! これって洗脳? いやいや、洗脳じゃありませんw Vimにはメモ帳の延長線上にあるエディタでは実現できないような数々の便利な機能があります。 覚えるまでにはちょっと苦労しますが、覚えてしまえばメモ帳系のエディタでは追いつけないようなスピードでテキストを編集することができます。 とはいえ、そもそも覚える以前に「そんな
Webページからちょっとデータ抜き出したいときありますよね。 1回だけしか行わず、わざわざプログラム組むほどでもないならVimでやるのがおすすめです。 例:はてぶのページからリンクを取得する vimを開いて4コマンドでリンクを抜き出します。 しかもエディタ上なのでその後の加工や連続スクレイピングなどもスムーズに行えます。 # 最初の行以外はどのサイトでも共通的に使えるはず :e http://b.hatena.ne.jp/ctop/it :%s/></>\r</g | filetype indent on | setf xml | normal gg=G :%v/<a/d :%s/^.*href="\([^"]*\)"[^>]*.*$/\1/ # 完全URLにしたいなら :%s/^\//http:\/\/b.hatena.ne.jp\//
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く