Vim 2 高級用法

Vim 系列教程目錄:

本節(jié)會講一些 Vim 中的高級概念和進(jìn)階用法, 了解了這些之后, 可以解開很多疑惑, 使用起來也會更得心應(yīng)手.

CWD

CWD(Current Working Directory), 當(dāng)前工作目錄, 這是 Vim 中一個挺重要, 但是卻又經(jīng)常被忽略的概念. 簡單來說, CWD 是 Vim 和操作系統(tǒng)的文件系統(tǒng)進(jìn)行交互時的上下文環(huán)境.

要查看 Vim 的 CWD, 你可以使用 :pwd 命令來查看. 正常來說, 當(dāng)你點擊桌面上的 gVim 圖標(biāo)打開 Vim 時, Vim 的 CWD 是用戶目錄, 當(dāng)你在文件上右鍵->用 Vim 編輯打開 Vim 時, Vim 的 CWD 是文件所在路徑.

CWD 有什么用呢? 現(xiàn)在請你打開 Vim, 然后在命令模式下執(zhí)行 :e test_vim_cwd.txt, 你會看到打開了一個名為 test_vim_cwd.txt 的新文件, 你隨便添加一些文本, 然后保存, 你會發(fā)現(xiàn)這次 Vim 不再提示你沒有文件名, 你可以直接保存了. 那么問題來了, 這個文件被存到哪里了呢?

我想你應(yīng)該已經(jīng)猜到了, 沒錯, 在 Vim 里新建的文件, 如果不指定路徑, 會被保存到 CWD 里. 所以說 CWD 是 Vim 和文件系統(tǒng)交互時的上下文環(huán)境.

除此之外, Vim 的很多插件工作時也依賴 CWD, 比如 NERDTree, CtrlP 等等.關(guān)于插件我們以后再講, 現(xiàn)在你先記住, CWD 是會影響一些插件的表現(xiàn)的.

在現(xiàn)階段, 你不需要關(guān)心 CWD, 因為我們現(xiàn)在還是單文件操作, CWD 是哪都無所謂. 但如果你確實想改一下 CWD, 可使用 :cd 命令修改 CWD:

cd d:/xxx/yyy

這和命令行里切換目錄的方式是一樣.

OK, 關(guān)于 CWD, 先說到這, 后面還會再說. 另外, 現(xiàn)在你又學(xué)會一個新命令: :e, 這個命令可以新建一個新文件. 其實, :e 這個命令后面可以路徑/文件名, 如果給定的路徑文件存在, 則是打開, 如果不存在, 則是新建.

文本對象

好, 我們再回到 Vim 的操作中, 請打開一個英文文本文件或輸入一些英文, 以便接下來的學(xué)習(xí).

之前的復(fù)制和刪除都是以字符, 行為單位, 而 w, e, b的作用是從光標(biāo)處到下個單詞開頭或本單詞結(jié)尾, 所以要想刪除整個單詞, 你得這么做: bdw, 這表示先將光標(biāo)移動到單詞開頭, 然后 dw. 這很麻煩, 有時候不小心看錯了, 光標(biāo)就移動錯了. 要解決這個問題, 可以使用 文本對象.

現(xiàn)在請移動到一個單詞的任意一個字母上, 然后執(zhí)行指令 daw, 你會發(fā)現(xiàn)整個單詞被刪除了, 神奇吧. 這個指令中的 aw 在 Vim 中代表一個文本對象: a word, 即一個單詞, 執(zhí)行 daw 就表示刪掉一個單詞, 而且, 無論你在這個單詞的哪個字母上, 都可以執(zhí)行此命令刪掉整個單詞.

除了 aw, Vim 還支持下列文本對象:

  • aw: a word, 表示一個單詞, 及其后面的空白, daw 表示刪除光標(biāo)所在單詞及空白
  • iw: inner word, 也是表示一個單詞, 但是不包括單詞后面的空白
  • as: a sentence, 表示一個句子, 及其后面的空白, das表示刪除光標(biāo)所在句子及空白
  • is: inner sentence, 也是表示一個句子, 但是不包括句子后面的空白
  • ap/ip: a paragraph, 一個段落, 細(xì)節(jié)同上
  • a[, a] / i[, i]: 一個 [] 塊, a[, a] 包括兩邊的 "[]", i[, i] 不包括兩邊的 []
  • a(, a) / i(, i) / ab ib: 一個小 block, 細(xì)節(jié)同上
  • a{, a} / i{, i} / aB iB: 一個大 block, 細(xì)節(jié)同上
  • a<, a> / i<, i>: 一個尖括號塊, 細(xì)節(jié)同上
  • a", a', a` / i", i', i`: 一對引號, 細(xì)節(jié)同上
  • at/it: 一個 tag, 匹配 HTML 或者 XML 中的 tag 及其內(nèi)容, 會忽略單標(biāo)簽

上述文本對象大都可以使用計數(shù)器, 例如:

  • d3aw: 表示刪除3個單詞, as, ap 同理
  • y2ab / y2a(: 表示向外復(fù)制兩層小括號的內(nèi)容, 其他類似括號的同理
  • ", ', `, 這幾個不可使用計數(shù)器

這樣一來, 一次性可操作的文本就大大增加了, 而且不用關(guān)心光標(biāo)的位置, 非常便捷.

寄存器

我們之前說過, 剪切(刪除)的文本會進(jìn)入到 Vim 中的寄存器里, 那什么是寄存器呢?

所謂寄存器, 就是存放文本和指令/命令的地方, 例如使用 y, d, c 等命令復(fù)制或剪切的文本都會被自動存放在 Vim 的寄存器中, 用戶可以將文本和指令放在寄存器中, 也可以從寄存器中讀出來.

Vim 中共有9類寄存器, 具體如下:

類型 標(biāo)識 讀寫者 是否只讀 包含的字符來源
Unnamed " Vim 最近一次的復(fù)制或刪除操作 (d, c, s, x, y)
Numbered 0 到 9 Vim 寄存器 0: 最近一次復(fù)制. 寄存器 1: 最近一次刪除. 寄存器 2: 倒數(shù)第二次刪除, 以此類推. 每來一次新的刪除和修改, Vim 就把前一次的寄存器 1 的內(nèi)容復(fù)制到寄存器 2, 2 到 3, 依此類推. 而寄存器 9 的內(nèi)容就丟失了
Small delete 中橫線 - Vim 最近一次行內(nèi)刪除
Named a 到 z 或 A 到 Z 用戶 由用戶指定時使用, 用戶可將文本存儲到這些寄存器中. 如果存儲至寄存器 a, 那么 a 中的文本就會被覆蓋. 如果你存儲至 A, 那么會將文本添加給寄存器 a晾腔,不會覆蓋之前已有的文本
Read-only : 與 . 與 % 和 # Vim : 為最近一次使用的命令, . 為最近一次添加的文本, % 為當(dāng)前的文件名, # 為輪換文件名
Expression = 用戶 Vim 存儲表達(dá)式的地方, 用戶只可讀
Selection/Drop + 與 * 和 ~ Vim +*為 GUI 選擇寄存器, 你可以理解為它們就是系統(tǒng)的剪切板, -為鼠標(biāo)拖放的寄存器
Black hole 下劃線 _ Vim 一般稱為黑洞寄存器, 當(dāng)把文本寫到這個寄存器中時, 什么都不會發(fā)生, 且不可讀, 這個寄存器可用來刪除文本而不影響其他寄存器
Last search pattern / Vim 最近一次通過 /?:global 等命令調(diào)用的匹配條件

要查看這些寄存器中到底有什么, 可以使用如下命令:

  • :reg 查看所有寄存器中的內(nèi)容
  • :reg <register name> 查看指定寄存器中的內(nèi)容, 例如: reg 0

需要注意的是, 有些寄存器名字為特殊字符, 需要使用 \ 轉(zhuǎn)義.

現(xiàn)在你可以先復(fù)制一段文本, 然后執(zhí)行命令 :reg ", 查看一下 Unnamed 寄存器中的值.

寄存器的讀寫

要訪問寄存器, 需要使用 " 作為前綴, 例如: "0, "a.

接下來我們做一個測試, 例如將 'hello' 這個單詞存儲到寄存器 a, 先將光標(biāo)移動到 'hello' 這個單詞上, 然后執(zhí)行:

"ayiw

上述指令表示: 使用寄存器 a, 然后復(fù)制一個單詞. 此時使用命令 :reg a 查看寄存器 a 中的內(nèi)容, 就能看到 'hello' 了. 需要注意的是, 當(dāng)使用復(fù)制剪切等命令向指定寄存器中寫入內(nèi)容時, 內(nèi)容同時也會被寫入到 Unnamed 寄存器.

每次向寄存器中寫入內(nèi)容, 會將寄存器中已有的內(nèi)容覆蓋, 如果想要往寄存器中追加內(nèi)容, 則需使用大寫字母防衛(wèi)寄存器, 如: "Ayiw, 這表示將當(dāng)前單詞追加到 寄存器 a 中.

要讀取寄存器 a 中的內(nèi)容, 則可使用如下命令:

"ap

這表示先啟用 寄存器 a, 然后進(jìn)行粘貼操作, 你就可以看到, 寄存器 a 中的內(nèi)容被粘貼出來了.

另外, 在插入模式下也可以訪問寄存器, 在 插入模式中按 Ctrl-r, 然后再輸入寄存器標(biāo)識(不用輸入", 直接輸入標(biāo)識), 就可以將對應(yīng)寄存器中的內(nèi)容輸出.

訪問系統(tǒng)剪切板

上面說了, y, d, c, x, s 等命令都是將內(nèi)容存進(jìn)了 Unnamed 寄存器中("), Unnamed 寄存器是 Vim 自己的寄存器, 操作系統(tǒng)是訪問不到的, 所以你到別的軟件了使用 Ctrl-v 是是無法粘貼出來的.

但是 Vim 中有另外兩個寄存器: +*, 這兩個寄存器可以理解為操作系統(tǒng)的剪切板, 所以我們可以通過這兩個寄存器對系統(tǒng)的剪切板進(jìn)行讀寫, 方式如下:

  • 通過 "+y / "+d / "+c 將內(nèi)容復(fù)制/剪切到系統(tǒng)剪切板
  • 通過 "+p 將系統(tǒng)剪切板內(nèi)容粘貼出來

PS. 使用 "+ 和 "* 效果一樣

上節(jié)我們講過 . 這個指令, 可以重復(fù)上次的操作, 我們也說了, . 本質(zhì)上是一個"宏", 那么什么"宏"呢?

所謂"宏", 其實就是可以反復(fù)播放的一系列操作的集合. 前面說了, 寄存器不只是可以存儲數(shù)據(jù), 還可以存儲指令/命令, Vim 中的宏就是將指令存儲到寄存器中, 然后再讀取出來. 宏的使用步驟如下:

  • 在普通模式下, 按 q 鍵開始錄制宏, 后面一般跟上 Named 寄存器的名字, 如 qm, 表示將宏錄制到 m 寄存器中.
  • 進(jìn)行一系列操作, 都會被記錄下來, 各種模式中的操作都會被記錄到宏中
  • 回到命令模式, 再次按q, 退出宏錄制
  • @m 播放m寄存器中的宏, 前面可以加數(shù)字表示播放次數(shù)
  • @@ 表示播放之前播放過那個個宏

錄制好宏之后, 可以通過 reg 查看宏中的內(nèi)容. 另外, 同樣可以通過使用大寫字母訪問寄存器, 追加宏命令.

緩沖區(qū)/窗口/標(biāo)簽頁

緩沖區(qū)(Buffer)

在 Vim 中打開的文件都會被存放在 Vim 的緩沖區(qū)中. 緩沖區(qū)在內(nèi)存里, 當(dāng)修改了文件還未保存時, 改動就在緩沖區(qū)中, 當(dāng)保存時, Vim 會將緩沖區(qū)中的內(nèi)容寫到文件. 要查看緩沖區(qū)中有哪些文件, 可使用 :buffers 命令, :ls, :files 命令可以起到同樣的效果.

運行這個命令后, 你會看到類似的輸出:

  1      "Android\AFeed\02_項目基本配置.md" 第 39 行
  3  a   "[未命名]"                     第 0 行
  5      "Develop\Editor\Vim_1_基本使用.md" 第 177 行
  6 %a   "Develop\Editor\Vim_2_使用進(jìn)階.md" 第 203 行
  7  a   "\Program Files (x86)\Vim\_vimrc" 第 0 行
  8      "Develop\Editor\Vim_3_vimrc.md" 第 86 行
  9      "Develop\Editor\Vim_5_常用插件(通用).md" 第 117 行

緩沖區(qū)列表第一列是其序號, 第二列是標(biāo)記, 標(biāo)記的含義如下:

  • a 當(dāng)前 active 并且 visible 的 Buffer
  • % 表示在當(dāng)前窗口顯示的 Buffer
  • = 只讀 Buffer
  • h 隱藏的 Buffer

如何操作這些 Buffer 呢? 可使用如下命令:

  • :buffer <buffer no> 通過 Buffer 編號切換到指定 Buffer, 簡寫 :b <buffer no>
  • :buffer <file name> 通過文件名切換到指定 Buffer, 簡寫 :b <file name>
  • :bnext, :bprevious 切換到下一個/上一個 Buffer, 簡寫 :bn, :bp
  • :bfirst, :blast 切換到第一個/最后一個 Buffer, 簡寫 :bf, :bl
  • :bdelete <buffer no> 刪除指定緩沖區(qū), 簡寫 :bd <buffer no>

關(guān)于 Buffer 要注意:

  • Buffer 一旦創(chuàng)建, 默認(rèn)就一直存在, 除非你手動刪掉. 這個特性會導(dǎo)致一個怪現(xiàn)象: 你在文件系統(tǒng)里把一個文件刪除了, 但是 Buffer 沒刪除, 當(dāng)你又讀取并修改保存了這個 Buffer 后, 你會發(fā)現(xiàn)文件系統(tǒng)里的那個文件又回來了... 這是因為, Buffer 是文件在內(nèi)存中的緩存, 你把文件從硬盤上刪了, 但是內(nèi)存中的緩存還在, 當(dāng)你保存時, 又把文件寫回去了. 所以刪除文件時, 最好也把 Buffer 刪了.
  • 同樣的, 刪除 Buffer 不會影響文件系統(tǒng)中的文件, 刪除 Buffer 的操作只影響內(nèi)存中的 Buffer.

窗口(Window)

Vim 中一個編輯區(qū)域中可以有多個窗口. 所謂窗口, 其實就是把編輯區(qū)分割成不同區(qū)域, 每個區(qū)域被稱為一個窗口. 窗口是用來顯示 Buffer 的, 當(dāng)你打開 Vim 時, 其實同時也打開了一個窗口, 只是這個窗口占滿了整個編輯區(qū)域.

使用如下命令, 可以把當(dāng)前分割窗口:

  • :split: 在當(dāng)前窗口上邊打開新窗口, 新窗口中依然是當(dāng)前文件, 簡寫為 :sp
  • :split filenpath: 在當(dāng)前文件上邊打開新窗口, 新窗口中為指定文件, 簡寫為 :sp filepath
  • :vsplit: 在當(dāng)前文件左邊打開新窗口, 新窗口中依然是當(dāng)前文件, 簡寫為 :vsp, 同樣可指定文件名
  • :new: 在當(dāng)前文件上邊打開新的空白窗口, 不可指定文件名
  • :vnew: 在當(dāng)前文件左邊打開新的空白窗口, 不可指定文件名

注意:上述命令都可以在前面加一個數(shù)字, 表示新窗口的大小(行數(shù)), 如 :3sp a.txt, 則打開 a.txt 的窗口只有三行. 另外, 可以反復(fù)使用上述命令, 把窗口分割成更小的窗口.

關(guān)于窗口的幾個快捷鍵:

  • Ctrl-w w: 先按 Ctrl-w, 再按一次 w, 在多個窗口間切換
  • Ctrl-w h/j/k/l: 切換到指定方向的窗口
  • Ctrl-w t/b: 切換到最上面/最下面的窗口
  • Ctrl-w H/J/K/L: 將窗口移動到指定的方向
  • Ctrl-w +/-: 更改窗口大小, 當(dāng)然, 使用鼠標(biāo)拖拽也可以

關(guān)于窗口的幾個命令:

  • :close 關(guān)閉當(dāng)前窗口, 其實 q 命令和 ZZ 也是可以關(guān)閉當(dāng)前窗口的, 只不過 :close 命令可以保證不會關(guān)閉最后一個窗口
  • :only 只保留當(dāng)前窗口, 關(guān)閉其他窗口, 如果其他窗口中的文件沒保存, 會有警告
  • :wall 保存所有窗口
  • :qall 退出所有窗口
  • :wqall 保存并退出所有窗口

標(biāo)簽頁(Tab)

除了窗口功能, Vim 還支持多標(biāo)簽頁功能. 標(biāo)簽頁是窗口的合集, 即一個標(biāo)簽頁中有多個窗口, 而:wall, :qall 等窗口功能其實只對當(dāng)前標(biāo)簽頁中的窗口有效. 使用下列命令, 可以開啟新的標(biāo)簽頁:

  • :tabedit: 打開新的空白標(biāo)簽頁, 簡寫: tabe
  • :tabedit filepath: 在新的標(biāo)簽頁中打開指定文件, 簡寫: tabe filepath
  • :tab split: 打開新的標(biāo)簽頁, 其內(nèi)容是當(dāng)前標(biāo)簽頁
  • :tab help: 在新的標(biāo)簽頁中打開幫助文檔

關(guān)于標(biāo)簽頁的幾個指令/命令:

  • gt / :tabn 切換到下一個標(biāo)簽頁
  • gT / :tabp 切換到上一個標(biāo)簽頁
  • 數(shù)字gt / :tabn 數(shù)字: 切換到指定位置的標(biāo)簽頁, 從1開始
  • :tabc 關(guān)閉當(dāng)前標(biāo)簽頁( tabclose 的簡寫)
  • :tabo 只保留當(dāng)前標(biāo)簽頁, 關(guān)閉其他標(biāo)簽頁(tabonly 的簡寫)

正確理解三者的關(guān)系

先引用文檔中的原話(help window):

Summary:
A buffer is the in-memory text of a file.
A window is a viewport on a buffer.
A tab page is a collection of windows.

我的理解:

  • Buffer 是文件在內(nèi)存中的緩沖區(qū), 一個 Buffer 對應(yīng)一個文件, 無論是新打開且未編輯的空文件,
    還是 vimrc 或是其他文件, 在內(nèi)存中都有對應(yīng)的緩沖區(qū).
  • Window 是用來顯示 Buffer 的, 一個 Window 對應(yīng)一個 Buffer, 但是一個 Buffer 可以同時被多個 Window 顯示. Buffer 只有顯示在 Window 中的時候才是可見的, 不可見的 Buffer 可以使用 Buffer 相關(guān)命令查看.
  • Tab 是 Window 的集合, 一個 Tab 可以分割成多個 Window, 多個 Tab 間的 Window 和一個 Tab 中的 Window 沒區(qū)別. 不同的 Tab 本質(zhì)上操作的是同一組 Buffer, 都是通過 Window 來展示.

一些奇怪現(xiàn)象的解釋:

  • 打開一個文件的時候, 自動分割出一個 Window, 這是因為之前 Window 中的 Buffer 還未保存, Vim 默認(rèn)不會隱藏未保存的 Buffer, 會保持其在 Window 中的可見性, 所以分割新 Window 來顯示新 Buffer.
  • 在一個 Tab 中打開一個 Buffer 時, 突然跳到了另一個 Tab, 這是因為不同的 Tab 其實操作的是同一組 Buffer, 如果一個 Buffer 已經(jīng)在 Tab1 中打開了, 你在 Tab2 中再次打開這個 Buffer, 會跳到 Tab1 中.

可以再看看這些文章:

Session

很多軟件都具有這樣一種功能: 在你下一次啟動該軟件時啰劲,它會自動為你恢復(fù)到你上次退出的環(huán)境, 恢復(fù)窗口布局, 所打開的文件等等. Vim 也有類似的功能, 只是用起來比較麻煩...

當(dāng)你要退出 Vim 時, 可以保存一個 Vim Session(會話), Vim 會話存放著所 有跟你的編輯相關(guān)的信息. 這包括諸如文件列表, 窗口布局, 全局變量, 選 項, 以及其它信息.

要保存會話信息, 可使用命令 :mksession sessionname, 簡寫為 :mks sessionname, sessionname 由你指定, 會話信息會保存到名為 sessionname 的文件中, 默認(rèn)情況下, Session 文件是存在用戶目錄下的, 當(dāng)然你也可以指定 Session 文件的路徑, 例如: :mksession d:/vim/session1. 如果 Session 文件已存在, 你需要使用 :mksession! d:/vim/session1 來保存 Session.

下次你打開 Vim, 可以載入這個 Session 文件, 就能恢復(fù)之前的會話信息了, 要載入會話, 可使用命令 :source sessionname.

比起其他編輯器, Vim 的 Session 稍顯難用一些.

折疊

折疊... 怎么解釋呢, 就是把一段文本顯示為一行, 就像一張紙, 要把它縮短些, 就折疊起來. 被折疊的文本其實還在, 只是顯示方式變了. 折疊的好處 是, 通過把多行的文本折疊成帶有折疊提示的一行, 會使你更好地了解對文 本的宏觀結(jié)構(gòu).

要創(chuàng)建一個折疊, 可使用 zf 指令, 你可以把光標(biāo)移動到某一個段落內(nèi), 然后使用指令 zfap, 你會發(fā)現(xiàn), 這段文字被折疊了. 這個指令的含義是: zf 是折疊指令, ap 是文本對象, 表示一段, zfap 就表示折疊一段文字.

要展開折疊的文本, 可將光標(biāo)移動到折疊行上, 使用 zo 指令, 折疊的文字就會展開. 要想再次折疊, 使用 zc 指令, 這次為啥不用 zf 了? 因為 zf 是創(chuàng)建折疊的.

常用折疊指令:

  • za 打開/關(guān)閉折疊, 相當(dāng)于 zo/zc 交替使用
  • zM 折疊所有
  • zR 打開所有折疊
  • zD 刪除折疊

總的來說, 折疊用的不多, 這里就不多介紹了.

其他技巧

  • 將命令行(系統(tǒng)命令)返回的結(jié)果輸出在 Vim 中
    在命令模式下輸入:r! <cmd> 或者 :r !<cmd> 即可, 注意 <cmd> 指的是你要輸入的系統(tǒng)命令
  • 將 Vim 命令的執(zhí)行結(jié)果輸出到文件, 需要如下三步:
    • 執(zhí)行命令 :redir > a.txt, 此命令意為將命令輸出到 a.txt 中, 默認(rèn)會在 pwd 目錄下新建文件, 你也可以指定文件路徑,
      如果文件已存在, 可使用 redir! 進(jìn)行覆蓋, 或使用 redir >> a.txt 進(jìn)行追加.
    • 執(zhí)行 Vim 命令
    • 再次執(zhí)行命令: redir END, 此命令意為重置命令輸出位置.

小結(jié)

本節(jié)講了一些 Vim 中的進(jìn)階用法, 可以讓你處理文本時更加方面快捷. 另外, 對于 Vim 中的寄存器, Buffer, Window, Tab等概念也有詳細(xì)的介紹, 了解這些會讓你理解 Vim 的一些行為. 還是那句話, 多練習(xí), 在用的過程中學(xué)習(xí), 感悟.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末户辱,一起剝皮案震驚了整個濱河市畜普,隨后出現(xiàn)的幾起案子砸喻,更是在濱河造成了極大的恐慌夜涕,老刑警劉巖畜隶,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壁肋,死亡現(xiàn)場離奇詭異,居然都是意外死亡籽慢,警方通過查閱死者的電腦和手機(jī)浸遗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來箱亿,“玉大人跛锌,你說我怎么就攤上這事〗焱铮” “怎么了髓帽?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長脑豹。 經(jīng)常有香客問我氢卡,道長,這世上最難降的妖魔是什么晨缴? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任译秦,我火速辦了婚禮,結(jié)果婚禮上击碗,老公的妹妹穿的比我還像新娘筑悴。我一直安慰自己,他們只是感情好稍途,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布阁吝。 她就那樣靜靜地躺著,像睡著了一般械拍。 火紅的嫁衣襯著肌膚如雪突勇。 梳的紋絲不亂的頭發(fā)上装盯,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音甲馋,去河邊找鬼埂奈。 笑死,一個胖子當(dāng)著我的面吹牛定躏,可吹牛的內(nèi)容都是我干的账磺。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼痊远,長吁一口氣:“原來是場噩夢啊……” “哼垮抗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起碧聪,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤冒版,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后逞姿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體壤玫,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年哼凯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片楚里。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡断部,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出班缎,到底是詐尸還是另有隱情蝴光,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布达址,位于F島的核電站蔑祟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏沉唠。R本人自食惡果不足惜疆虚,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望满葛。 院中可真熱鬧径簿,春花似錦、人聲如沸嘀韧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锄贷。三九已至译蒂,卻和暖如春曼月,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柔昼。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工哑芹, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岳锁。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓绩衷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親激率。 傳聞我的和親對象是個殘疾皇子咳燕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345