LoginSignup
14
12

More than 5 years have passed since last update.

プログラムの写経(vim編)

Last updated at Posted at 2016-05-08

追記:2017/07/22

今だと,Neovimをインストールすれば,vimshellが必要ないです.つまりdeniteも入れなくてできますね.多分.
:terminalコマンドでそのまま open sample.htmlでひらけます.
ぜひ卒論,レポートなどでご活用ください.

プログラムを写経するのにまずはシンタックスが色付きじゃなきゃ駄目だし、行数が無いと使えないということで調べていった結果、自分の今のベストの方法を書いていく。一応mac用に書いてますが、少しの変更でwindowsでもlinuxでも応用可能です。

まず、vim で適当なサイトからコピーしてきたソースコードをコピペして開く
(もとからサンプルコードがあればそれを開いても勿論大丈夫でございます!)

terminnal画面にて
vim Sample.java

vimsample.png

このようなサンプルコード開いたとします。

esc でノーマルモードに入ります。

①まずはソースコードをhtmlにする

vim
:TOhtml "コードをhtml化
:w! sample.html "ファイル名(sample.html)で保存

:wqでとじてopen sample.htmlでもいいのですが、めんどくさいのでVimShellで開きましょう。まずは以下を参考してdein.vim をいれましょう!

.vimrcの先頭に以下を追加

.vimrc
"dein.vimの設定

let s:dein_dir = expand('~/.cache/dein')
let g:rc_dir = expand('~/.vim/rc')
" dein.vim 本体
let s:dein_repo_dir = s:dein_dir . '/repos/github.com/Shougo/dein.vim'

" dein.vim がなければ github から落としてくる
if &runtimepath !~# '/dein.vim'
  if !isdirectory(s:dein_repo_dir)
    execute '!git clone https://github.com/Shougo/dein.vim' s:dein_repo_dir
  endif
  execute 'set runtimepath^=' . fnamemodify(s:dein_repo_dir, ':p')
endif

" 設定開始
if dein#load_state(s:dein_dir)
  call dein#begin(s:dein_dir)

  " プラグインリストを収めた TOML ファイル
  let s:toml      = g:rc_dir . '/dein.toml'
  let s:lazy_toml = g:rc_dir . '/dein_lazy.toml'

  " TOML を読み込み、キャッシュしておく
  call dein#load_toml(s:toml,      {'lazy': 0})
  call dein#load_toml(s:lazy_toml, {'lazy': 1})

  " 設定終了
  call dein#end()
  call dein#save_state()
endif

" もし、未インストールものものがあったらインストール
if dein#check_install()
  call dein#install()
endif

dein.vimを用いて追加しましょう!tomlを使用します。

dein.toml
[[plugins]]
repo = 'Shougo/vimshell.vim'

[[plugins]]
repo = 'Shougo/vimproc.vim'
hook_post_update = '''
  if dein#util#_is_windows() 
    let cmd = 'tools\\update-dll-mingw'
  elseif dein#util#_is_cygwin()
    let cmd = 'make -f make_mac.mak'
  elseif executable('gmake')
    let cmd = 'gmake'
  else
    let cmd = 'make'
  endif
  let g:dein#plugin.build = cmd
  '''

参考
・NeoBundle から dein.vim に乗り換えたら爆速だった話
http://qiita.com/delphinus35/items/00ff2c0ba972c6e41542

・dein.vimを使ってみる
http://qiita.com/yoza/items/2f8bd33a18225754f346

これでdein.vimの導入とVimShellの導入終わりました。

これでdein.vimを閉じてもう一度dein.vimを開くと自動でインストールされるはずです。
バージョンが低いvimだとdein.vimが動作しない場合があるので、うまくいかない場合は最新のvimを利用してみてください。

あとは①の段階にもどってノーマルモードに入って

ノーマルモードのvimにて
:VimShell

スクリーンショット 2016-05-08 14.30.14.png

このようにopenコマンドで開けば
スクリーンショット 2016-05-08 14.30.25.png

ブラウザに立ち上がるのでこれでLet's SYAKYOU TIMEです!

これを印刷するなどして写経してください。

ポイントとしては
・コードのシンタックス(色がついてhtmlが出力される)
・行数が表示される
・インデントなどしっかり反映される
などです。

もっと楽にするにはvimプラグインを書くぐらいかと思います。
:hardcopyというコマンドで印刷することもできますが、私の端末では上手く動きませんでした。:TOhtmlは多分昔のvimでも今のvimでも安定して動くかと思います。

次はvimプラグインの記事を投稿できるように勉強します。。。。

14
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
12