【CLI】Vim插件管理調(diào)研

參考文章

Vim插件管理程序的發(fā)展

作者:LiTuX
鏈接:https://www.zhihu.com/question/24294358/answer/27362814
來源:知乎
著作權(quán)歸作者所有古沥,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)。

早些年太颤,vim 插件只能自己扔到 ~/.vim 或者 vimfiles 里面盹沈,由于插件的結(jié)構(gòu)很 unix,于是同一個(gè)插件岗憋,plugin, ftplugin, doc, syntax 等等文件夾下面灰趁混亂的存在著各種東西拧廊,而且要用戶自己管理安裝、升級(jí)凰盔、卸載倦春、配置睁本。好特么煩!

然后屁倔,*nix 平臺(tái)上有人受不了了暮胧,弄過幾個(gè)獨(dú)立的第三方插件管理器往衷,比如這里面有個(gè)東東叫 vim addon manager(請(qǐng)記住這個(gè)名字 XD)(當(dāng)然严卖,請(qǐng)?jiān)徫蚁剩€有好幾個(gè)類似的東東我都忘了叫啥了,有誰知道歡迎補(bǔ)充)福铅。vam 是 ruby 寫的一個(gè)包滑黔,看名字就知道丫是干嘛用的,不過……我沒用過它所以沒法評(píng)價(jià)(曾經(jīng)“用過”的一個(gè)第三方管理器叫 vimana庵佣,什么表現(xiàn)嘛我就不記得了)汛兜。

但這種第三方的一般都是某種腳本語(yǔ)言寫的粥谬,在 *nix 上還好帝嗡,讓我們 windows 用戶腫么辦……然后,有個(gè)灰常霸氣的東東出現(xiàn)了狮辽,——vimball巢寡。這貨可以看做是 vim 界的 docstrip(其實(shí)更簡(jiǎn)潔)抑月,簡(jiǎn)直是個(gè)神器。從此裝插件易如反掌题诵,麻麻再也不用擔(dān)心我不會(huì)裝插件啦性锭!三個(gè)咒:

vim XXX.vba
:so %
:q

直接搞定了有木有叫胖!卸載也就一行命令的事(嗯瓮增?好像沒用過哎)。唯一需要對(duì)付的是拳恋,——你要的插件需要提供那個(gè) vba 才行(而且這個(gè)插件應(yīng)該是純 vim script)诅岩。

于是這就有了限制。那其他的呢尤其是提供 zip/tarball 的咋辦鸳谜∈酵ⅲ基于 vimball 修改 runtimepath 的理念滑废,一個(gè)更加沒有限制的插件“管理器”誕生了,這貨叫 pathogen(by tpope 大神)薛闪。只需把你的 tarball 整個(gè)解到 pathogen 的管理目錄(bundle)下豁延,vimrc 稍作處理腊状,這個(gè)插件就可以用啦缴挖!曾經(jīng)那個(gè)混亂的目錄結(jié)構(gòu) sayonara~~ 插件管理變成文件管理映屋,很方便有木有!

可是倔毙,懶惰的人們嫌這個(gè)還不夠。剛好卵蛉,github 流行起來傻丝,很多 vim 插件的作者都將插件放到 github 上托管葡缰。于是有人通過 git module 來管理自己的 vim 插件忱反,以達(dá)到“一份 vimrc 走遍天下”的目的温算,不需要自備 vimfiles 目錄间影。在這個(gè)背景下魂贬,劃時(shí)代的插件管理器終于誕生了,這貨叫 vundle(by gmarik宣谈。順便提一句闻丑,vundle 剛不久前經(jīng)歷了一次大版本升級(jí)萝嘁,主要命令發(fā)生了變化酸钦,請(qǐng)用戶注意)卑硫。

vundle 誕生之后蚕断,很長(zhǎng)時(shí)間內(nèi)這成為了眾多 vimmer 的標(biāo)配(至今仍是)亿乳,這貨一定程度上真正達(dá)到了一個(gè) vimrc 搞定一切的“終極”目標(biāo)葛假,——對(duì)大部分插件尤其全部是 vim script 至多依賴 +python/+lua 等的插件而言,vundle 足夠方便足夠簡(jiǎn)潔抱究,并且有著足夠?qū)嵱玫墓芾矸绞剑喊惭b鼓寺、升級(jí)妈候、停用、卸載都僅需一條命令醋安,必須是 life changing 的評(píng)分吓揪。唯一需要的是所计,你用的插件在 github 上有對(duì)應(yīng)的 repo主胧,或者 http://vim.org 上注冊(cè)存在踪栋,并且你要有個(gè)能用的 git。

然后眷唉,某些高級(jí)別的插件冬阳,使得 vundle 又“不夠用”了党饮。我們知道刑顺,大部分 vim 插件都是腳本蹲堂,但是仍然存在一些插件會(huì)自帶個(gè) lib(打個(gè)廣告,鄙人的 vimcaps 也屬于這類),那么能犯,如果插件作者釋出的是 lib 的源碼踩晶,或者 lib 依賴于平臺(tái)需要本地編譯渡蜻,vundle 模式的“東西取下來,加路徑”等一坨設(shè)定就不夠用了排苍,——我們的 lib 要編譯過淘衙,插件才能用彤守;又或者哭靖,很多牛人做了不少插件之后试幽,將其中的某些部分抽取出來抡草,于是插件之間有依賴關(guān)系(WTF?嫡稹),單獨(dú) :Plugin 一個(gè)插件可能不夠屏箍,又或者赴魁,有人不喜歡 github 而是把東西扔到 bitbucket or somewhere else(目前 vundle 已經(jīng)支持非 github 的 repo)或者我用的是 svn 呢啊 hg 呢啊……在這些越來越復(fù)雜的需求下颖御,人們不滿足于 vundle 提供的便利性凝颇,(好吧你或許猜到了我要說的是 Shougo 大神升級(jí)版 vundle)neobundle 被造了出來。這貨既然號(hào)稱下一代的 vundle瘪弓,自然比 vundle 要牛 X 一些腺怯,比如針對(duì) post install action川无,neobundle 可直接在 vimrc 中配置動(dòng)作舀透,更加方便懶人們拿一個(gè) vimrc 扔到機(jī)器上稍微初始化下就得到熟悉的工作環(huán)境這個(gè)需求愕够。然而,這貨我沒用過惑芭,細(xì)節(jié)之處無法評(píng)價(jià)坠狡。不過鑒于 Shougo 大神的作品質(zhì)量一直很高,相信這個(gè)管理器也不例外遂跟。BTW逃沿,如果用了 Shougo 大神自己的 vimproc,這貨可以異步安裝/更新插件幻锁。當(dāng)然凯亮,Shougo 大神很謙遜的表示,這個(gè)“下一代”可能還不夠穩(wěn)定哄尔,追求穩(wěn)定的同志還請(qǐng)繼續(xù)使用 vundle。

接下來岭接,鄙人一直在用的插件管理器要登場(chǎng)啦富拗!還記得最開始要你記住的那個(gè)名字么?Bingo鸣戴,vim addon manager啃沪,相信你在試著搜索這個(gè)名字的時(shí)候,Google 給出的應(yīng)該是我現(xiàn)在提到的這個(gè)(by MarcWeber 大神)窄锅,而不是前面那個(gè) Ruby 的應(yīng)用 XD创千。(And 接下來讓我們簡(jiǎn)稱它 VAM 吧)

VAM 完全不同于 vundle 及類似物(是的,除了 neobundle 之外,還有其他相似的管理器哦)签餐,而且 VAM 灰常龐大寓涨,提供了各種至少很炫酷很碉堡的功能例如:按插件名字搜索,插件名稱補(bǔ)全氯檐,自動(dòng)解決依賴關(guān)系、(一定程度上)自動(dòng)保存本地修改等等体捏。所以在我看來冠摄,一直到 VAM 誕生,vim 才算是有了真正意義上的“插件管理器”几缭,你不再需要在意你要的插件到底是 http://vim.org 上的河泳,github 上的,bitbucket 上的還是 google code 上年栓,不需要關(guān)心到底是 git拆挥,hg,svn某抓,甚至 http://vim.org 上的 zip纸兔,tgz,bz2 甚至 vimball……所有 dirty 的東西統(tǒng)統(tǒng)不用你管否副,你只需要知道你想要的插件在 VAM 的數(shù)據(jù)庫(kù)中叫什么(而且好消息是汉矿,MarcWeber、Shougo 等人已經(jīng)聯(lián)手弄了個(gè) vim-pi 的數(shù)據(jù)庫(kù)方便各種插件管理器共享插件信息)备禀,雖然在初期洲拇,插件的名字曾經(jīng)發(fā)生過變化(不知道現(xiàn)在穩(wěn)定下來沒有)、插件名稱可能不太好記曲尸、插件名稱區(qū)分大小寫所以容易弄混……

可是赋续!盡管我是 VAM 用戶,不得不說這貨灰常龐大復(fù)雜另患,很多高級(jí)功能至今我也沒弄明白纽乱,只是按照我目前的配置,it works 而且 work 的還不錯(cuò)這樣柴淘。

總結(jié)迫淹,目前主流比較流行的 vim 插件管理(僅依賴 vim)主要是這四家:Pathogen、Vundle为严、NeoBundle 和 VAM敛熬,最主要需要考慮的幾點(diǎn)有:Vundle 的用戶相對(duì)最多而且使用比較簡(jiǎn)潔方便;NeoBundle 功能更加強(qiáng)大第股,可以指定特定版本应民;VAM 只需要大體上記住插件名字就可以使用,模糊匹配和補(bǔ)全功能,自動(dòng)解決依賴關(guān)系诲锹。

與 Ruby/perl 版本的管理器相比繁仁,這四家都會(huì)改 rtp,從而使得 autoload 延遲加載時(shí) vim 的搜索路徑增多(尤其安裝的插件多了之后)归园,可能會(huì)影響到 vim 的速度黄虱。

And 我快寫完的時(shí)候,找到了這個(gè):topic/vim plugin managment (MarcWeber 大神總結(jié)的庸诱?應(yīng)該很全面了)

Vundle

1.安裝vundle

$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

2.配置.vimrc
將Vundle的配置說明復(fù)制到.vimrc(~下沒有就創(chuàng)建一個(gè).vimrc)的頂部,配置說明中的插件如果你不需要,可以刪掉(Vundle以前插件的關(guān)鍵字是"Bundle",現(xiàn)在是Plugin).
附我當(dāng)時(shí)安裝時(shí)的配置說明:

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
" Git plugin not hosted on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Avoid a name conflict with L9
Plugin 'user/L9', {'name': 'newL9'}

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList          - list configured plugins
" :PluginInstall(!)    - install (update) plugins
" :PluginSearch(!) foo - search (or refresh cache first) for foo
" :PluginClean(!)      - confirm (or auto-approve) removal of unused plugins
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

對(duì)上面的配置說明做一些解釋(中文部分):

set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'

" 一下是幾種不同形式的支持樣例
" The following are examples of different formats supported.
" 以后你想安裝什么插件可以寫在下面,放在vundle#begin 和vundle#end之間
" Keep Plugin commands between vundle#begin/end.
" a)如果你的插件來自github捻浦,寫在下方,只要作者名/項(xiàng)目名就行了,如樣例中的tpope/vim-fugitive
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'

" b)如果插件來自 vim-scripts桥爽,你直接寫插件名就行了,如樣例中的L9
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'

" c)如果插件來自非GitHuB的Git庫(kù),則直接寫Git地址,如下面的樣例
" Git plugin not hosted on GitHub
" Command-T是一個(gè)基于Ruby和C擴(kuò)展實(shí)現(xiàn)的快速文件瀏覽的插件朱灿,類似TextMate的Go to 
" File(Command+T呼出)功能,或Eclipse的Open Resource(Command+Shift+r)功
" 能钠四,可以通過模糊匹配快速定位并打開文件盗扒。
Plugin 'git://git.wincent.com/command-t.git'

" d)如果有本機(jī)插件,可以按下面的樣例撰寫
" git repos on your local machine (i.e. when working on your own plugin)
" Plugin 'file:///home/gmarik/path/to/plugin'(我將其注掉了,因?yàn)槲覜]有本機(jī)插件,否則會(huì)引起安裝vundle的失敗)

" e)如果來自子目錄,給出runtimepath(rtp),用鍵值rtp,如下面的樣例
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

" f)避免命名沖突,可以用鍵值name
" Avoid a name conflict with L9
Plugin 'user/L9', {'name': 'newL9'}

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on

" vundle常用命令
" Brief help
" :PluginList          - list configured plugins
" :PluginInstall(!)    - install (update) plugins
" :PluginSearch(!) foo - search (or refresh cache first) for foo
" :PluginClean(!)      - confirm (or auto-approve) removal of unused plugins

" :h獲取更多幫助
" see :h vundle for more details or wiki for FAQ
" 下面就是你自己的一些配置(因?yàn)関undle的配置說明是置頂?shù)?
" Put your non-Plugin stuff after this line

3.啟動(dòng)Vim,輸入:PluginInstall
4.安裝你想要的插件
按照步驟2中的介紹,編輯好.vimrc,保存退出當(dāng)前的vim,重新打開vim,在命令模式下輸入PluginInstall
5.移除不想要的插件
編輯.vimrc文件移除的你要移除的插件行,保存退出當(dāng)前的vim,重打開vim,在命令模式下輸入命名PluginClean

總結(jié)下vundle常用命令:

:PluginList            -列舉列表(也就是.vimrc)中配置的所有插件  
:PluginInstall         -安裝列表中的全部插件  
:PluginInstall!        -更新列表中的全部插件  
:PluginSearch foo      -查找foo插件  
:PluginSearch! foo     -刷新foo插件緩存  
:PluginClean           -清除列表中沒有的插件  
:PluginClean!          -清除列表中沒有的插件  

spf13

還沒怎么具體用vundle,我就采用了spf13的打包配置,一鍵安裝...

NERDTree

NERDTree是一個(gè)用于瀏覽文件系統(tǒng)的樹形資源管理外掛,它可以讓你像使用Windows檔案總管一樣在VIM中瀏覽文件系統(tǒng)并且打開文件或目錄。

vimrc配置信息:

Bundle 'scrooloose/nerdtree'
'' 配置F2快捷鍵開啟
map <F2> :NERDTreeToggle<CR>
" 在 vim 啟動(dòng)的時(shí)候默認(rèn)開啟 NERDTree(autocmd 可以縮寫為 au) autocmd VimEnter * NERDTree

" 將 NERDTree 的窗口設(shè)置在 vim 窗口的右側(cè)(默認(rèn)為左側(cè)) let NERDTreeWinPos="right"

" 當(dāng)打開 NERDTree 窗口時(shí)缀去,自動(dòng)顯示 Bookmarks let NERDTreeShowBookmarks=1

切換工作臺(tái)和目錄:

ctrl + w + h    光標(biāo) focus 左側(cè)樹形目錄
ctrl + w + l    光標(biāo) focus 右側(cè)文件顯示窗口
ctrl + w + w    光標(biāo)自動(dòng)在左右側(cè)窗口切換
ctrl + w + r    移動(dòng)當(dāng)前窗口的布局位置
o       在已有窗口中打開文件侣灶、目錄或書簽,并跳到該窗口
go      在已有窗口 中打開文件朵耕、目錄或書簽炫隶,但不跳到該窗口
t       在新 Tab 中打開選中文件/書簽,并跳到新 Tab
T       在新 Tab 中打開選中文件/書簽阎曹,但不跳到新 Tab
i       split 一個(gè)新窗口打開選中文件伪阶,并跳到該窗口
gi      split 一個(gè)新窗口打開選中文件,但不跳到該窗口
s       vsplit 一個(gè)新窗口打開選中文件处嫌,并跳到該窗口
gs      vsplit 一個(gè)新 窗口打開選中文件栅贴,但不跳到該窗口
!       執(zhí)行當(dāng)前文件
O       遞歸打開選中 結(jié)點(diǎn)下的所有目錄
x       合攏選中結(jié)點(diǎn)的父目錄
X       遞歸 合攏選中結(jié)點(diǎn)下的所有目錄
e       Edit the current dif

雙擊    相當(dāng)于 NERDTree-o
中鍵    對(duì)文件相當(dāng)于 NERDTree-i,對(duì)目錄相當(dāng)于 NERDTree-e

D       刪除當(dāng)前書簽

P       跳到根結(jié)點(diǎn)
p       跳到父結(jié)點(diǎn)
K       跳到當(dāng)前目錄下同級(jí)的第一個(gè)結(jié)點(diǎn)
J       跳到當(dāng)前目錄下同級(jí)的最后一個(gè)結(jié)點(diǎn)
k       跳到當(dāng)前目錄下同級(jí)的前一個(gè)結(jié)點(diǎn)
j       跳到當(dāng)前目錄下同級(jí)的后一個(gè)結(jié)點(diǎn)

C       將選中目錄或選中文件的父目錄設(shè)為根結(jié)點(diǎn)
u       將當(dāng)前根結(jié)點(diǎn)的父目錄設(shè)為根目錄熏迹,并變成合攏原根結(jié)點(diǎn)    
U       將當(dāng)前根結(jié)點(diǎn)的父目錄設(shè)為根目錄檐薯,但保持展開原根結(jié)點(diǎn)
r       遞歸刷新選中目錄
R       遞歸刷新根結(jié)點(diǎn)
m       顯示文件系統(tǒng)菜單
cd      將 CWD 設(shè)為選中目錄

I       切換是否顯示隱藏文件
f       切換是否使用文件過濾器
F       切換是否顯示文件
B       切換是否顯示書簽

q       關(guān)閉 NerdTree 窗口
?       切換是否顯示 Quick Help

切換標(biāo)簽頁(yè):

:tabnew [++opt選項(xiàng)] [+cmd] 文件      建立對(duì)指定文件新的tab
:tabc   關(guān)閉當(dāng)前的 tab
:tabo   關(guān)閉所有其他的 tab
:tabs   查看所有打開的 tab
:tabp   前一個(gè) tab
:tabn   后一個(gè) tab

標(biāo)準(zhǔn)模式下:

gT      前一個(gè) tab
gt      后一個(gè) tab
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市注暗,隨后出現(xiàn)的幾起案子坛缕,更是在濱河造成了極大的恐慌,老刑警劉巖捆昏,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赚楚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡骗卜,警方通過查閱死者的電腦和手機(jī)宠页,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門左胞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人举户,你說我怎么就攤上這事烤宙。” “怎么了俭嘁?”我有些...
    開封第一講書人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵躺枕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我兄淫,道長(zhǎng)屯远,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任捕虽,我火速辦了婚禮,結(jié)果婚禮上坡脐,老公的妹妹穿的比我還像新娘泄私。我一直安慰自己,他們只是感情好备闲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開白布晌端。 她就那樣靜靜地躺著,像睡著了一般恬砂。 火紅的嫁衣襯著肌膚如雪咧纠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評(píng)論 1 291
  • 那天泻骤,我揣著相機(jī)與錄音漆羔,去河邊找鬼。 笑死狱掂,一個(gè)胖子當(dāng)著我的面吹牛演痒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播趋惨,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼鸟顺,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了器虾?” 一聲冷哼從身側(cè)響起讯嫂,我...
    開封第一講書人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兆沙,沒想到半個(gè)月后欧芽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挤悉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年渐裸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了巫湘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡昏鹃,死狀恐怖尚氛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情洞渤,我是刑警寧澤阅嘶,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站载迄,受9級(jí)特大地震影響讯柔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜护昧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一魂迄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惋耙,春花似錦捣炬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至灭美,卻和暖如春推溃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背届腐。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工铁坎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梯捕。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓厢呵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親傀顾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子襟铭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容