как переместить блок или столбец текста

Мне очень нравится решение, предложенное @Brian Diggs. Однако в моем случае я создаю линейные графики в цикле, а не предоставляю их явно, потому что я не знаю apriori, сколько графиков у меня будет. Когда я попытался адаптировать код @ Брайана, я столкнулся с некоторыми проблемами с правильной обработкой цветов. Оказалось, мне нужно было изменить эстетические функции. Если у кого-то такая же проблема, вот код, который работал для меня.

Я использовал тот же фрейм данных, что и @Brian:

data <- structure(list(month = structure(c(1317452400, 1317538800, 1317625200, 1317711600, 
                                       1317798000, 1317884400, 1317970800, 1318057200, 
                                       1318143600, 1318230000, 1318316400, 1318402800, 
                                       1318489200, 1318575600, 1318662000, 1318748400, 
                                       1318834800, 1318921200, 1319007600, 1319094000), 
                                     class = c("POSIXct", "POSIXt"), tzone = ""),
                   TempMax = c(26.58, 27.78, 27.9, 27.44, 30.9, 30.44, 27.57, 25.71, 
                               25.98, 26.84, 33.58, 30.7, 31.3, 27.18, 26.58, 26.18, 
                               25.19, 24.19, 27.65, 23.92), 
                   TempMed = c(22.88, 22.87, 22.41, 21.63, 22.43, 22.29, 21.89, 20.52,
                                 19.71, 20.73, 23.51, 23.13, 22.95, 21.95, 21.91, 20.72, 
                                 20.45, 19.42, 19.97, 19.61), 
                   TempMin = c(19.34, 19.14, 18.34, 17.49, 16.75, 16.75, 16.88, 16.82, 
                               14.82, 16.01, 16.88, 17.55, 16.75, 17.22, 19.01, 16.95, 
                               17.55, 15.21, 14.22, 16.42)), 
              .Names = c("month", "TempMax", "TempMed", "TempMin"), 
              row.names = c(NA, 20L), class = "data.frame")  

В моем случае я генерирую динамические my.cols и my.names, но я не хочу делать вещи излишне сложны, поэтому я даю их явно здесь. Эти три строки упрощают упорядочение легенды и присваивают цвета.

my.cols <- heat.colors(3, alpha=1)
my.names <- c("TempMin", "TempMed", "TempMax")
names(my.cols) <- my.names

И вот график:

p <-  ggplot(data, aes(x = month))

for (i in 1:3){
  p <- p + geom_line(aes_(y = as.name(names(data[i+1])), colour = 
colnames(data[i+1])))#as.character(my.names[i])))
}
p + scale_colour_manual("", 
                        breaks = as.character(my.names),
                        values = my.cols)
p

27
задан David.Chu.ca 6 March 2009 в 20:47
поделиться

4 ответа

Вы должны использовать блочный визуальный режим ( Ctrl + v ). Затем d для удаления блока, p или P для вставки блока.

44
ответ дан Sagar Jain 14 October 2019 в 12:51
поделиться

Попробуйте ссылка .

<час>

отмечающий текст (визуальный режим)

  • v - запускает визуальный режим, отмечает строки, затем управляйте (такие как y-рывок)
  • V - запускают Linewise, который визуальный режим
  • o - перемещает в другой конец отмеченной области
  • Ctrl + v - запускаются, визуальный блочный режим
  • O - перемещаются в Другой угол блока
  • ай - отмечают Word
  • ab - () блок (с фигурными скобками)
  • aB - {} блок (со скобками)
  • ib - внутренний () блок
  • iB - внутренний {} блок
  • Esc - выходят из визуального режима

Визуальные команды

  • > - право сдвига
  • < - сдвиг уехал
  • y - рывок (копия) отметил текст
  • d - удаляют отмеченный текст
  • ~ - случай переключателя

Вырезанный и вставленный

  • yy - рывок (копия), строка
  • 2yy - дергает 2 строки
  • yw - Word
  • рывка y$ - рывок к концу строки
  • p - помещенный (вставляет) буфер обмена после того, как курсор
  • P - помещенный (вставляет) перед курсором
  • dd - удаляют (сокращает) строку
  • собственный вес - удаляет (сокращает) текущий Word
  • x - удаляют (сокращение) текущий символ
16
ответ дан jezrael 14 October 2019 в 12:51
поделиться

Использование внешней команды «awk».

%!awk '{print $1,$3,$2,$4}' test.txt 

With pure vim

:%s,\v(\w+) (\w+) (\w+) (\w+),\1 \3 \2 \4,g

Другое решение vim с использованием глобальной команды

:g/./normal wdwwP
0
ответ дан SergioAraujo 14 October 2019 в 12:51
поделиться
  1. В VIM, нажмите Ctrl + V для входа в Визуальный Выбор Блочного режима
  2. необходимые столбцы с клавишами со стрелками и нажатием x для вырезания их в буфере.
  3. курсор Перемещения для расположения в ряд 1 столбца 9 и нажатие P (thats капитал P) в командном режиме.
  4. Нажатие Ctrl + Сдвиг + b для вхождения и вышедшего из него. ( источник )
5
ответ дан Hulk1991 14 October 2019 в 12:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: